ram芯片的最小数目(串行RAM23LC1024四线访问数据)
ram芯片的最小数目(串行RAM23LC1024四线访问数据)
2024-10-01 12:01:24  作者:汉子的霸气  网址:https://m.xinb2b.cn/life/tyh112314.html

为什么需要四线串行访问23LC1024?

在“ 单片机片外RAM,串行的[1]”中减少了对Microchip公司的SPI接口RAM芯片:23LC1024的读写测试。但是在STC8G1K08但潘辰的SPI接口驱动下,访问对其进行一次字节的读写操作,大概需要消耗20微妙的的时间,这使得在高速、高精度采集应用中跟不上数据的采集。

为了提高对其的访问速度,可以采用以下的方式:

使用其四线串行模式(SQI)的方式进行访问;尽量使用序列读写方式,而不是每次完成完整的命令 地址 数据的腹泻方式

下面为了配合 AD7606八通道AD采集模块测试[2]中数据的采集,首先测试23LC1024在STC8G1K08操作下访问速度

本文实验中的工程文件可以在下面资源中下载:

23LC1024串行四线访问工程[3]实验电路设计

AD工程文件目录:

AD\Test\2020\TestAD7606STC\TestAD7606STC8G.SchDoc

1. 原理图

电路板设计中采用了STC8G1K08 TSOP20封装的芯片。核心板上集成了23LC1024串行接口的RAM,对于AD7606的接口是通过ADI10芯接口连接。


▲ 原理图

2. PCB

设计电路PCB版图,适宜使用单面PCB板制作实验电路。


▲ 快速制版后的实验电路板

3. 硬件调试

软件开发所在的目录:

C51\STC\Test\2020\testAD76068G1K\TestAD76068G.uvproj

置STC8G1K08的硬件选项配置如下:


▲ 单片机硬件选项配置

主要性能测试1. 测试单个字节读写的时间

测试标准写入函数在执行过程中,LC1024的CS的波形:

LC1024ByteWrite(0, 0, 0xff, 0xf)

写入时间为2us,CS的波形如下图所示:


▲ CS波形,时间为2.03us

读出的时间也是2.0us,

LC1024ByteRead(0x0, 0x0, 0xff)

下面是在读的时候,CLK, SO1的波形。


▲ CLK,SD1的波形

2. 连续字节读写

使用连续字节读写的方式读取多组字节。下面是读取连续10个字节。所需要的时间为8.57us。

LC1024ReadBegin(0x0,0x0,0x0);LC1024WriteByte(0x0);LC1024WriteByte(0x0);LC1024WriteByte(0x0);LC1024WriteByte(0x0);LC1024WriteByte(0x0);LC1024WriteByte(0x0);LC1024WriteByte(0x0);LC1024WriteByte(0x0);LC1024WriteByte(0x0);LC1024WriteByte(0x0);LC1024ReadWriteEnd();


▲ 连续读取十个字节所需要的时间

如果仅仅执行读取起始和结束的语句:

LC1024ReadBegin(0x0,0x0,0x0);LC1024ReadWriteEnd();

所小号的时间为2us。这说明读取单个字节的时间大约为左右。

这个速度与博文“ 扩展32KRAM的STC8H8K信号采集版[4]”中,通过并口扩展RAM的一次读写时间0.532us的速度基本相当了。

通过这个时间可以说明,使用SQI(串行四线制)在连续读写的情况下可以达到与并口扩展RAM相当的速度。

即使是单个读写所消耗的2us的时间,也比在博文“ 单片机片外RAM,串行的[5]”中读取单个字节所消耗19.2us将近快了10倍左右。


函数程序模块

相关LC1024读取的程序模块如下。

其中致的说明的是,在LC1024的初始化函数中,调用了LC1024Reset命令,就保证了LC1024成功进入SQI模式。

LC1024访问函数头文件:

#ifndef__LC1024L4__#define__LC1024L4__//------------------------------------------------------------------------------#ifdefLC1024L4_GLOBALS#defineLC1024L4_EXT#else#defineLC1024L4_EXTextern#endif//LC1024L4_GLOBALS//------------------------------------------------------------------------------//ENDOFTHEFILE:LC1024L4.H//------------------------------------------------------------------------------#endif//__LC1024L4__

LC1024的C语言程序。

//------------------------------------------------------------------------------#defineLC1024L4_GLOBALS1//Definetheglobalvariables#include"LC1024L4.H"#include"C51BASIC.H"#include"STC8G.H"#include"INTRINS.H"//------------------------------------------------------------------------------voidLC1024L4Init(void){PM_PP(LC1024_CS);PM_PP(LC1024_CLK);ON(LC1024_CS);OFF(LC1024_CLK);LC1024_SO_IN;LC1024Reset();LC1024EQIEnter();}//------------------------------------------------------------------------------voidLC1024EQIEnter(void){unsignedchari,ucMask,ucByte;ucByte=LC1024_EQIO;ucMask=0x80;LC1024_SO_IN;PM_PP(LC1024_SO0);OFF(LC1024_CS);for(i=0;i<8;i ){if(ucByte&ucMask)ON(LC1024_SO0);elseOFF(LC1024_SO0);ucMask>>=1;LC1024_CLK_PULSE;}LC1024_SO_IN;ON(LC1024_CS);}voidLC1024EQIExit(void){LC1024_SO_OUT;P1|=0xf;OFF(LC1024_CS);LC1024_CLK_PULSE;LC1024_CLK_PULSE;LC1024_SO_IN;ON(LC1024_CS);}//------------------------------------------------------------------------------unsignedcharLC1024ByteRead(unsignedcharucAdd2,unsignedcharucAdd1,unsignedcharucAdd0){unsignedcharucRet;LC1024_SO_OUT;OFF(LC1024_CS);P1&=0xf0;LC1024_CLK_PULSE;P1|=0x3;LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd2>>4);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd2&0xf);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd1>>4);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd1&0xf);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd0>>4);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd0&0xf);LC1024_CLK_PULSE;LC1024_SO_IN;LC1024_CLK_PULSE;//DummybyteLC1024_CLK_PULSE;ON(LC1024_CLK);ucRet=(P1<<4);OFF(LC1024_CLK);ON(LC1024_CLK);ucRet|=(P1&0xf);OFF(LC1024_CLK);ON(LC1024_CS);returnucRet;}//------------------------------------------------------------------------------voidLC1024ByteWrite(unsignedcharucAdd2,unsignedcharucAdd1,unsignedcharucAdd0,unsignedcharucByte){LC1024_SO_OUT;OFF(LC1024_CS);P1&=0xf0;LC1024_CLK_PULSE;P1|=0x2;LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd2>>4);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd2&0xf);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd1>>4);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd1&0xf);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd0>>4);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd0&0xf);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucByte>>4);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucByte&0xf);LC1024_CLK_PULSE;LC1024_SO_IN;ON(LC1024_CS);}//------------------------------------------------------------------------------unsignedcharLC1024ReadMode(void){unsignedcharucRet;OFF(LC1024_CS);LC1024_SO_OUT;P1&=0xf0;LC1024_CLK_PULSE;P1|=0x5;LC1024_CLK_PULSE;LC1024_SO_IN;ON(LC1024_CLK);ucRet=(P1<<4);OFF(LC1024_CLK);ON(LC1024_CLK);ucRet|=(P1&0xf);OFF(LC1024_CLK);ON(LC1024_CS);returnucRet;}//------------------------------------------------------------------------------voidLC1024ReadBegin(unsignedcharucAdd2,unsignedcharucAdd1,unsignedcharucAdd0){LC1024_SO_OUT;OFF(LC1024_CS);P1&=0xf0;LC1024_CLK_PULSE;P1|=0x3;LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd2>>4);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd2&0xf);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd1>>4);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd1&0xf);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd0>>4);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd0&0xf);LC1024_CLK_PULSE;LC1024_SO_IN;LC1024_CLK_PULSE;//DummybyteLC1024_CLK_PULSE;}//------------------------------------------------------------------------------voidLC1024WriteBegin(unsignedcharucAdd2,unsignedcharucAdd1,unsignedcharucAdd0){LC1024_SO_OUT;OFF(LC1024_CS);P1&=0xf0;LC1024_CLK_PULSE;P1|=0x2;LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd2>>4);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd2&0xf);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd1>>4);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd1&0xf);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd0>>4);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucAdd0&0xf);LC1024_CLK_PULSE;}unsignedcharLC1024ReadByte(void){unsignedcharucRet;ON(LC1024_CLK);ucRet=(P1<<4);OFF(LC1024_CLK);ON(LC1024_CLK);ucRet|=(P1&0xf);OFF(LC1024_CLK);returnucRet;}voidLC1024WriteByte(unsignedcharucByte){P1&=0xf0;P1|=(ucByte>>4);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucByte&0xf);LC1024_CLK_PULSE;}//------------------------------------------------------------------------------voidLC1024ReadWriteEnd(void){LC1024_SO_IN;ON(LC1024_CS);}//------------------------------------------------------------------------------voidLC1024WriteMode(unsignedcharucMode){LC1024_SO_OUT;OFF(LC1024_CS);P1&=0xf0;LC1024_CLK_PULSE;P1|=0x5;LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucMode>>4);LC1024_CLK_PULSE;P1&=0xf0;P1|=(ucMode&0xf);LC1024_CLK_PULSE;ON(LC1024_CS);LC1024_SO_IN;}//------------------------------------------------------------------------------voidLC1024Reset(void){LC1024_SO_OUT;P1|=0xf;OFF(LC1024_CS);LC1024_CLK_PULSE;LC1024_CLK_PULSE;LC1024_CLK_PULSE;LC1024_CLK_PULSE;LC1024_CLK_PULSE;LC1024_CLK_PULSE;LC1024_CLK_PULSE;LC1024_CLK_PULSE;ON(LC1024_CS);LC1024_SO_IN;}//ENDOFTHEFILE:LC1024L4.C//------------------------------------------------------------------------------

结论参考资料

[1] 单片机片外RAM,串行的: https://zhuoqing.blog.csdn.net/article/details/105891541

[2] AD7606八通道AD采集模块测试: https://zhuoqing.blog.csdn.net/article/details/105908384

[3] 23LC1024串行四线访问工程: https://download.csdn.net/download/zhuoqingjoking97298/12388449

[4] 扩展32KRAM的STC8H8K信号采集版: https://zhuoqing.blog.csdn.net/article/details/105798094

  • 盘点男女的神仙友谊(神仙友情vs真假恋情)
  • 2024-10-01神仙友情vs真假恋情又到了热搜论坛被各个时尚盛典占据的年底,想要吃个有趣的瓜可真不容易啊……虽然赶着参加各类红毯晚会的明星们,着实很忙,但也不忘给自己抽空放个假~比如,最近就有网友就偶遇到了在崇礼滑雪场的李易峰、金晨和方。
  • 李明珊的乡村振兴(乡村CEO行动)
  • 2024-10-01乡村CEO行动来源:【中国农网】何家岩,一个位于重庆市酉阳土家族苗族自治县花田乡南部、背靠菖蒲草原、面朝千亩稻田的自然聚落这样一个只有几十户人家的小小村落,承载着“乡村CEO”们的伟大梦想就业是民生之本,人才是第一。
  • 蔡家智慧新城在哪里(蔡家智慧新城机会清单出炉)
  • 2024-10-01蔡家智慧新城机会清单出炉9月19日,蔡家智慧新城机会清单新闻发布会在重庆市新闻发布中心举行北碚区委常委、组织部部长,蔡家智慧新城管委会党委书记、主任邓美涛介绍了蔡家智慧新城二十年的发展成果,并同步发布蔡家智慧新城机会清单二十。
  • 哪19家支付机构牌照被取消(2家被罚没超六千万)
  • 2024-10-012家被罚没超六千万2022年第三方支付机构依旧面临着严监管相比2021年,2022年央行及其分支机构对辖内支付机构开出的罚单金额大幅增加,其中,银联商务和百联优力(北京)投资有限公司均被罚没超六千万此外,相比前三批续期。
  • 写迪丽热巴和黄景瑜的文章(我觉得热巴没有怀孕)
  • 2024-10-01我觉得热巴没有怀孕这几天,关于热巴怀孕的事,闹得沸沸扬扬,风风雨雨,不辨真假这些谣言里,特别强调热巴已经连续6个月都没有进组,而且言之凿凿还说什么热巴的上一部戏,合作对象还是与之一直被传绯闻的青年才俊黄景瑜再加上一开始。
  • 有几个人还会记得最初的梦想(最初的梦想你还记得吗)
  • 2024-10-01最初的梦想你还记得吗人活着最离不开的就是梦想,这个梦想可以是朴实无华,也可以是最耀眼夺目的理想,只要它符合当下最真实的愿望由印度导演——尼特什.提瓦瑞执导的电影《最初的梦想》就是在《摔跤吧爸爸》电影以后执导的爱情喜剧电影。
  • 贪财好色的意思(词语贪财好色的意思)
  • 2024-10-01词语贪财好色的意思贪财好色,汉语成语,拼音是tāncáihàosè,意思是贪图私利,喜好女色成语出处:《汉书·高帝纪》:“沛公居山东时,贪财好色”成语用法:作谓语、宾语、定语;指贪图钱财,好近女色示例:廖永安数出多人,。
  • 知否赵丽颖斜眼瞪人(知否圣诞花絮图)
  • 2024-10-01知否圣诞花絮图今天是圣诞节,你是不是和小编一样在苦逼的上班呢??这时候,我们不妨来看看明星大腕儿们在这样的日子都是怎样high的,他们早就纷纷晒照与粉丝分享圣诞喜悦啦~~首席来品品赵丽颖,冯绍峰主演的电视剧《知否知。
  • 盘点那些校园里的校花(这清纯校花的黑料)
  • 2024-10-01这清纯校花的黑料2012年,29岁的金莎刚自立门户,成立了自己的工作室,就被一句预言给吓懵了!一位算命大师摸了摸她的头,沉吟道:“姑娘,接下来你要走整整七年的衰运,你准备好了吗?”金莎如遭雷击,可之后发生的一切正如大。
  • 加拿大申请pr要多长时间(移居加拿大小伙伴请注意)
  • 2024-10-01移居加拿大小伙伴请注意近期受疫情影响的小伙伴应该很清楚,疫情之下各方面的物价都在飞涨,近期加拿大又发布了一个新消息:加拿大将全面调高加拿大永久居民申请费用,包括经济类、家庭团聚以及人道主义类别也许这对于申请人来说,并不算一。
  • 世上最好玩的几个水上乐园(这个四季恒温的水上乐园)
  • 2024-10-01这个四季恒温的水上乐园【点击上方蓝字行周末关注我们│给生活加点料】置顶公号·每天有惊喜在远离海岸线的城市里却有这样一个地方一年四季都面向大海春暖花开这个夏天,你还是冰着西瓜、吹着空调,在家里瘫着?我呢,可不一样!吹着凉爽的。