什么?阿圆你又拿什么奇葩东西来忽悠我们!
哈哈,阿圆今天本来是在认真调试代码,调试到外部SDRAM时搞了好久,郁闷之间忽悠想到
有没有简单的办法使用外部RAM,如果单片机的RAM不够用到底应该怎么办?
花钱!买RAM更大ROM更多的单片机!
使用外部SDRAM
按二十年前写代码的方式认真扣每一位内存比特
大容量的单片机阿圆不是没有考虑过,SRAM 2M的也不是没有(Realtek的那个奇葩),像STM32F1系列最高配也就到96K,如果非要上F7/H7虽然内存有512K,但是价格感人,有时时仅仅为了大内存应用,也没有必要带上那么多接口吧!浪费!
最高至96KBytes
最高至512KBytes
那么选一个可以外扩SDRAM的这个办法没错吧!阿圆觉得这都是己经经过实践验证过的了方法绝对靠谱,但是!但是!没错又是这该死的但是,想一想吧,一旦要用外部SDRAM,那一堆地址线和数据线绝对少不了,占用你16~20根IO口妥妥的!
第三点嘛,阿圆不想多说,我们可是要面向互联网的嵌入工程师,以后写代码的目标就是不用自己管理内存,不用自己管理中断,不用己管理。。(唉呀别打我)
在此,阿圆开了个脑洞,能不能有简单易用的SRAM啊!让我有内存可用,接口还要简单一点,上个并行SDRAM做个板子好麻烦,焊接也不好焊!
经过阿常的苦心搜索,我去还真有!那就是今天的主角串行SRAM!见过串行的Flash,见过串行的EEPROM,竟然还有串行的SRAM!
第一个呢,便是来自Microchip的23LXX系列,真没想到microchip的脑洞也很大(难怪PIC还挺好用的),以此最大内存值为1Mbit(128K)的23LC1024为例,来看看串行SRAM的一些参数。
SPI接口,时钟频率最高为20MHz,支持SPI/SDI/SQI模式
低功耗,读电流为3ma@5.5V 20MHz,
无限次读写周期
写时不需要花费额外时钟
128K x 8-bit的组织架构,支持32页
读写支持字节,页,顺序模式
工作温度-40到 85度之间
也就是说现在的串行SRAM走的就是普通的SPI接口,控制信号线就只需要4根即可,即CS,SI,SO,SCK即可,相比并行的SDRAM少了不少。
阿圆偷偷上老马家搜索了一下23LC1024,不到10块钱,不过买的人都好少,庆幸大家都没有开这脑洞。