原创 调试XR16V598,8路串口功能总结

2010-8-23 18:24 1671 2 2 分类: 通信

         太懒了,一直想好好整理一下平时工作中遇到的问题与心得,可是工作一忙这个想法始终无法实现。我决定还是一周抽出点时间整理一下,也好不断提高。 

        最近调试的板卡是一块非智能板卡,使用APCI总线信号控制EXAR公司的XR16V598芯片。这块板卡实现的功能是把总线上的信号译码成为8路串口收发数据。特点是: 

1.     可以软件通过配置CPLD上面的寄存器实时控制8路串口的传输协议,RS232/RS422/RS485实时软件切换,不需要传 统的跳线手动选择。 

2.     采用光耦实现全部隔离。

3.     为适应更高要求,在串口外端选配共模扼流圈DLW5BSN302SQ2与空气放电管SL1021B,当然这些暂时不装配也不会影响功能。

设计方案初期主要考虑成本因素及设计的复杂程度。主控制芯片决定采用EXAR公司的XR16V598芯片,由于输出端口的顺序的限制,我查询了很多同时兼容输出RS232,RS422,RS485的芯片,但都不符合用户的要求,其次这种芯片一片的价格也比较贵。如果用分立的MAX242与2片SP485EEN构成一路串口成本也不贵。

其次需要考虑的问题是逻辑的处理。在总线一侧首先通过245芯片驱动总线上的信号之后连接到CPLD端。在cpld内进行简单的译码以及控制232,422,485切换的管脚,需要两个信号控制。考虑到成本问题,隔离外侧采用HCT00,02,14芯片搭建组合逻辑达到控制MAX242与SP485EEN芯片的目的。估计还有更好的办法,但要是在外侧做则会增加光耦的使用,内测用CPLD会增加成本与布线复杂度。这种也算是一种妥协的方法了。

写出逻辑分配表,串口板地址线为9根,数据线为8根,具体功能地址分配如下表:



地址A8~A0



数据D7~D0



说明



备注



0x080



0x0~0xF



0:选择RS232;


1:禁止RS232



D0对应第一路串口,


D7对应第八路串口



0x 081



0x0~0xF



1:选择RS422;


0:选择RS485



D0对应第一路串口,D7对应第八路串口



0x 100~0x 18f



0x0~0xF



对应写16V598寄存器



参照数据手册



定义好外部出口对应关系



 



RS232



RS422



RS485



Pin 1n



SIN1n



Tx1n+



NC



Pin 2n



CTS1n



Tx1n-



NC



Pin 3n



SOUT1n



Rx1n+



DATA1n+



Pin 4n



RTS1n



Rx1n-



DATA1n-



 


 

     接着就是画原理图了。 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /3 下一条