串口芯片的简单理解
串口芯片的引脚如下:
内部结构如下:
上面两个图比较复杂,也似乎很难记住。其实,对于串口通信芯片,最关键的就是每块芯片有一根发送信号线和一根接收信号线,两块8251连接如图所示:
两块8251要进行通信,只要各自检查下面的两个引脚就行:
①TxRDY(Transmitter Ready):发送器准备好,高电平有效。如果该信号有效,就表示发送缓冲器已空,通知CPU可以向芯片送入新的数据。
②RxRDY(Receiver Ready):接收器准备好,高电平有效。如果RxRDY为高,表示接收缓冲器中已经有组装好了的一个数据字符,通知CPU读取数据。
如果都准备好了,再通过下面两个引脚发送和接收数据:
①TxD:发送数据线。
②RxD:接收数据线。
上图是进行通信的两块8251连接图:
初始化程序由两部分组成:
①将一方定义为发送方,发送方CPU查询到TxRDY有效时,则CPU向8251A并行输出一个待发送的字节数据;
②将对方定义为接收方,接收方CPU查询到RxRDY有效时,则从8251A输入一个已接收到的字节数据,直到全部数据传送完毕为止。
程序如下:
发送程序如下:
START:MOV DX,3F9H
MOV AL,7FH ;异步方式,8位数据,
;一位停止位,偶校验
OUT DX,AL 波特率因子为64,允许发送
MOV AL,11H ;操作命令字
OUT DX,AL
MOV DI,1000H ;设置地址指针
MOV CX,40H ;设置计数器初值
-----------------------------------------------------------------------------------------
程序到这里是设置芯片的工作状态,包括同步异步等。
L1: MOV DX,3F9H
IN AL,DX
AND AL,01H ;查询TxRDY是否有效
JZ L1 ;无效则等待
MOV DX,3F8H
MOV AL,[DI] ;向8251A输出一个字节数据
OUT DX,AL
INC DI ;修改地址指针
LOOP L1 ;未传送完,则继续下一个
HLT
--------------------------------------------------------------------------------
这一部分就是发送数据,很简单,TxRDY准备好了就发送。
接收程序如下:
BEGIN:MOV DX,3F9H
MOV AL,7FH ;异步方式,8位数据,1位停止位
OUT DX,AL ;偶校验,波特率因子64,允许接收
MOV AL,14H ;操作命令字(置ER,RxE 为1)
------------------------------------------------------------------------------
程序到这里也是设置芯片的工作状态,包括同步异步等。
MOV DX,AL
MOV SI, 2000H ;设置地址指针
MOV CX,40H ;设置计数器初值
L2:MOV DX,3F9H
IN AL,DX;读取状态字
TEST AL,38H ;查询接收器是否有错。
JNZ ERR ;有错则转错误处理
AND AL,02H ;无误则查状态位D1(RxRDY)
JZ L2 ;接收未准备好则等待
MOV DX,3F8H
IN AL,DX ;接受准备好,则接收1个字节数据
MOV [SI],AL
INC SI ;修改接收数据区地址
LOOP L2
JMP L3
ERR:CALL ERR-OUT(略)
L3:MOV AX,4C00H ;已接收完,返回DOS
INT 21H
--------------------------------------------------------------------------------
这一部分就是接收数据,很简单,RxRDY准备好了就接收。
因此,上述程序总结一下就非常简单:
3:检查接收是否准备好,准备好则接收数据。
介绍下无线电接触到的常见串口芯片
串行接口(Serial port)简称“串口”,通常指COM接口,是采用串行通信方式的扩展接口。常见的有一般电脑应用的RS-232,其特点是通信线路简单,只要一对传输线就可以实现双向通信。随着电脑的发展,现在电脑很少带有9针串口了,而串口又是做电子设计必备的通讯接口之一。现在多数都用由usb转接串口,常见的串口主要是FT232、PL2303、CH340三种,稳定程度上,FT232>CH340>PL2303。
FT232:性能是公认的稳定可靠,但是近几年我用的较少,它的驱动,现在win10在联网状态下还可以自动安装,但手动装的话就比较难找到合适的驱动,有些版本的win10并不稳定。使用最稳定的系统就是xp或者win7。
PL2303:前几年用的比较多,比较主流,不过最近有网友表示Win10不支持PL2303HXA USB转串口芯片,在设备管理器中提示“PL2303HXA自2012已停产,请联系供货商”,它的驱动程序不再更新了,只能碰运气装装老版本,许多新手不能一次性装成功,那基本上就是无法使用的了。
CH340、CH341:国产芯片,目前使用相对稳定的,也是使用较多的,只要是电脑,就可以稳定装好的驱动,不太挑系统。
单片机的TXD、RXD是TTL电平,所以你得万变不离其宗的将其它信号转成TTL电平
电脑串口接口>>>电脑输出232电平信号>>>MAX232芯片>>>TTL电平
电脑USB接口>>>电脑输出USB电平信号>>>USB转串口线>>>232电平信号>>>MAX232芯片>>>TTL电平
电脑USB接口>>>电脑输出USB电平信号>>>PL2303或CH340芯片>>>TTL电平
FT232
Pl2303
CH340
相关问答
串口有哪些芯片?
应该是usb转串口如pl2303ft232ch341cp210x等等E810USB转DB9RS-232接口pl2303E820AUSB转RS485/RS422接口cp210x...
串口转USB的好芯片?是CP2102,PL2303,FT232,还是其它的?
按价格上来看是ft232>cp2102>pl2303>ch340,主要是在win10上ch340系列的驱动不好装,建议买ft232和cp2102的芯片,带隔离的就更好了按价格上来看...
TTL和串口RS232电平转换常用芯片有哪些?
用一片TTL转RS232的232收发器芯片(RS-232Transceiver)即可。最常见也最常被山寨的就是美信的MAX232。其它公司的232收发器也有很多。用一片TTL转RS232的232...
电脑主板串口接口故障怎么修理-ZOL问答
(1)首先检查串口插座有无虚焊、断针等不良现象,如果有,重新焊接插座即可。(2)如果串口插座正常,测量串口插座到串口管理芯片之间线路的数据线对地阻值是否为...
at芯片是什么?
ATMEL品牌系列芯片AT25F512,是新型的8脚soic封装。8位串行通信FLASHROM储存蕊片。芯片型号后的512表示容量512K。注意:超过工作范围将导致器件永久损坏。这...
i2c总线接口芯片有哪些
IIC一般用模拟的较多,就是用普通IO口来模拟IIC时序,网上可以很容易找到相应的代码。但是有很多单片机还是有IIC硬件模块的,比如AVR系列的单片机是自带基于状态...
USB-CIF31(USB转串口)用的是什么芯片?-ZOL问答
搜串口或者RS232根据你的现象,应该不完全是2303的问题,多检查USB接口座,因为USB的DATA口只要查到有上拉,就会显示有USB插入,当然要通讯正常需要芯片OK。不...
请问1394端口转RS232串口需要转换芯片吗?-我爱流连ago的...
需要的,去电子城买一个吧!貌似没直接1394->232但是有1394转USBUSB再转232这样似乎很麻烦直接usb转232比较好稳定
tms是什么芯片?
TMS320C6713DSP是美国TI于1997年推出的C6000系列DSP芯片的一款,它是32位高速浮点型DSP,时钟最高频率为300MHz。(1)体系结构采用超长指令字(VLIW)结构,单.....
请问1394端口转RS232串口需要转换芯片吗?-uAtB1sNQS的回...
貌似没直接1394->232但是有1394转USBUSB再转232这样似乎很麻烦直接usb转232比较好稳定需要的,去电子城买一个吧!