采用cpld增强单片机p89c669外部设备扩展能力
2007.08.15来自:现代电子技术
p89c669是philips半导体一款51mx(存储器扩展)内核的微处理器,其指令执行速度2倍于标准的80c51器件,线性地址经扩展后可支持高达8 mb的程序存储器和8 mb的数据存储器,这是他相对于标准51内核的最大优点。目前的单片系统越来越复杂,扩展的外部设备也更多,如果能充分利用p89c669的丰富的线性地址资源,将能大大增强系统能力。在一个嵌入式系统开发中,笔者采用altera公司的cpld芯片epm7032利用这款单片机的线性地址扩展了丰富的外部设备资源。
1 p89c669的存储器结构
1.1 存储结构
p89c669的存储器结构为哈佛结构,地址分配如表1所示。
从表1可见,p89c669对传统的51内核的3部分存储结构进行了相应的扩展,各个部分的片内存储空间也增加了,如内部数据空间有1 280 b在片内,外部数据空间有768 b在片内,有96 kb的片内程序存储空间等。
寻址指令除了传统的mov,movx,movc外,emov指令与24位的通用指针寄存器eptr可寻址16mb的全部空间,但是所占用的指令周期也较长。
扩展外部数据存储空问hdata除了768 b在片内外,其余地址空间可以用来扩展外部设备(其实只要把片内的768 b通过指令将其屏蔽,也可以用来扩展外部设备)。
1.2 p2口的读写时序分析
寻址8 mb的数据存储空间,需要有23 b的地址寻址能力,p89c669将传统51内核的p2高位地址时分复用,从而得到23 b地址寻址能力,时序图如图1所示,即当使用23 b地址时,ale为高时,地址位a16~a22输出到p2.0~p2.6;ale为低时,地址位a8~a14输出到p2.0~p2.6。无论ale为何值,位地址a15都从p2.7输出。
2 系统外部设备扩展需求
在某产品的控制系统中,扩展的外部设备比较丰富,利用p89c669的23 b地址寻址能力进行设备地址编码,所以需要对23 b地址的时序逻辑进行处理,处理单元交给一块altera公司的cpld(epm7032)。
epm7032具有32个逻辑单元,约600个门级单元,可用io口36个,内置ieee std.1149.1 jtag,方便可编程下载。
在满足系统资源的前提下,选用epm7032,将p89c669的p2口作为处理单元输入信号,经过cpld的内部逻辑进行译码或数据锁存,以获得各个外部设备资源的选择信号及少量的控制信号,如图2所示。
在本设计中,共需要得到设备选择信号如sram芯片m68af127b的片选cs_ram,2个flash rom芯片sst29sf040的片选cs_rom0,cs_rom1,模拟多路选择器sn74lv4052的使能信号线cs_4052,另外还有一些控制信号线,这里就不一一介绍。
实际上,p2口引入cpld,就p89c669的23 b地址线而言,用来地址译码和少量的控制信号等主要是利用最高的几位,在本设计中,由于sst29sf040用到地址线a0~a18,所以cpld的地址译码处理只能是利用剩下的a19~a22,这将在下文的cpld的译码单元可以看到。
a0~a7低地址采用74hc573进行锁存,a16~a18地址内容采用74hc574进行锁存,如图3所示。
m68af127b,sst29sf040,74hca052的功能连接图如图4所示,74hc4052用于uart口的扩展,如图5所示。
3 epm7032s的逻辑设计
cpld的设计采用原理图的方法进行设计,简便快捷,如图6所示,采用74374模块锁存p2口的输入信号,ale反向后得到_ale作为74374的锁存时钟线输入。
对高位的地址线a19~a22进行地址译码,获得各芯片的片选线,如图7所示。
如果不是对sst29sf040进行读写,则高位地址线a16~a18仍然可以利用,这里将其作为74hc4052的3个输入控制线a,b,inh,即图8中的a_4052,b_4052,cs_4052。
4 keilc51平台的外部设备测试
编写设备驱动程序是在keilc51的平台上,由于利用了p89c669的23 b地址线,在c51的平台上采用指针读写设备很方便,这里给出读写sram芯片m68af127b的c源代码例子,以供参考。
以上3句为测试sram的测试代码,start_ex-tram为sram芯片的起始地址(可根据cpld的内部设计进行相应的修改),第2,3句分别是写、读数据的宏。
5 结 语
利用p89c669的23 b的线性地址并采用cpld扩展外部设备资源可以说是不错的一个方法,对外部设备的访问将显得更加简便,当然,在成本方面系统设计工程师也要加以考虑,并最终寻找一个性价比最高的方案。
Qi标准v1.2.4最新版本发布,无线充电方案再解读
PLC的运动控制到底是什么?plc插补与同步插补区别
无线路由器模块与WiFi控制模块的区别
游泳耳塞哪个牌子好用,游泳耳塞排行榜分享
智能电视发展前景看好
利用P89C669的23 b的线性地址并采用CPLD外部扩展
大消息!索尼筹划将区块链技术应用于数字版权数据储存
您知道Type-C连接器的特点吗
Ansys助力Autodesk Fusion 360改进PCB设计
微软DeBERTa登顶SuperGLUE排行榜
腾讯医典公布了一季度短视频供应商排行榜
三星S8国行版发布会马上开始:三星S8发布会3大亮点抢先看,三星S8发布会视频直播地址
中国标准走进国际视野 首个零信任国际标准的诞生往事
城镇河流河道AD叶绿素浮标水质在线监测了解一下
新能源汽车技术就业前景_新能源汽车的发展趋势
ATmega128在开发应用中应注意的问题
高低温环境试验设备在电子元器件行业的应用-贝尔试验箱
虎贲芯片什么水平?展锐的虎贲T610碾压高通665
几个常用电路
主流手机操作系统简介