基于i.MX27处理器串口扩展设计详解
摘要:介绍在i.MX27芯片上利用16C652芯片来扩展串口的方案,详细阐述i.MX27芯片与16C652芯片之间的接口设计、CPLD设计、驱动设计。
关键词:i.MX27;16C652;串口扩展; ARM9嵌入式系统;工业控制。
引 言
在工业控制中需要的大量的现场控制总线,如CAN,Profibus,MODBUS,RS485/RS422,RS232.同时在工业控制,仪器仪表,医疗器械等非消费类领域,嵌入式处理器占到绝大部分,而作为控制中枢的嵌入式处理器串口往往只有三、四个,为了实现对多个外设的控制,需要对串口进行扩展。ARM芯片是目前在嵌入式系统中应用得最多的一种处理器内核,可运行linux、WINCE、VxWORKS等操作系统,拥有包括LCD、串口、网络通讯、存储芯片等大量外围接口。开发板平台使用成都莱得的FlexG1工控板.
注:本文章只介绍扩展2个串口的设计,需要扩展4个串口选用16C654即可,如果需要增加更多的串口,增加16C654即可增加UART扩展个数,设计思路完全相同。
硬件设计
图1 串口扩展硬件图
在图1中,电路图由4部分组成:i.MX27处理器、CPLD、16C652、DB9连接器。其中i.MX27处理器和DB9连接器没有在图中画出来。片选选用i.MX27的CS4,起始地址为:0xD400 0000
,地址信号A0,A1,A2决定了16C652不同的寄存器。
CPLD设计