串口扩展芯片电路详解
- 格式:pdf
- 大小:25.79 KB
- 文档页数:1
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.第1章 SC16IS752芯片和电路原理1.1.1 SC16IS752芯片介绍SC16IS752是I 2C 总线/SPI 总线接口,双通道高性能的UART 扩展芯片,串口数据传输速率高达5Mbit/s ,每路串口有64Bytes 的读写FIFO 和一个可编程的波特率发生器,具备省电模式和睡眠模式,还提供了8个额外可编程的I/O 脚,并且支持传输速率高达1.1152Mbit/s 的IrDA ,可实现自动硬件和软件流控,自动的RS-485读写切换和软件复位等功能。
1. 通用特性● 64字节FIFO (发送器和接收器) ● 与工业标准16C450完全兼容并等效 ● 在16×时钟模式下波特率高达5Mbit/s●使用RTS/CTS 的自动硬件流控制● 带有可编程Xon/Xoff 字符的自动软件流控制 ● 一个或两个Xon/Xoff 字符● 自动的RS-485支持(自动的从地址检测) ● 多达8个可编程的I/O 脚●经过RTS 信号的RS-485驱动器方向控制● RS-485驱动器方向控制翻转 ● 内置IrDA 编码器和译码器接口 ● 支持的IrDA 速率高达115.2kbit/s ● 软件复位● 发送器和接收器可相互独立使能/禁能 ● 接收和发送FIFO 电平 ● 可编程的特殊字符检测 ● 完全可编程的字符格式:⏹ 5,6,7或8位字符 ⏹ 偶、奇或无奇偶格式 ⏹ 1,1.5或2个停止位 ● Line break 的产生和检测 ● 内部回送模式● 3.3V 时的睡眠电流低于30μA ● 工业和商业温度范围 ● 5V 容限输入● HVQFN32和TSSOP28封装文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.2. I 2C 总线特性● SCL/SDA 输入上的噪声滤波器 ● 400kbit/s (最大速率) ● 遵循I 2C 总线高速 ● 仅为从机模式 3. SPI 特性● 最高速率为4Mbit/s ● 仅为从机模式 ● SPI 模式0 1.1.2 电路原理本章的驱动实现基于SC16IS752芯片,通过I 2C 实现两路串口扩展。
uart扩展芯片UART(通用异步收发器)是一种常见的串口通信协议,用于在计算机和外部设备之间进行数据传输。
UART扩展芯片是一种用于扩展UART功能的集成电路。
在本文中,我将详细介绍UART扩展芯片及其应用。
UART扩展芯片是专门设计用于连接到MCU(微控制器单元)或其他处理器的外围设备的芯片。
它是通过串行通信接口连接到主处理器,并提供额外的UART通信通道。
一般来说,MCUs和处理器通常只具有一个或少数几个UART通信通道,而UART扩展芯片可以提供更多的串口通道,从而增加设备的连接性。
UART扩展芯片的主要功能是提供额外的串行通信通道。
这意味着可以同时与多个外部设备进行通信,而无需更换或重新配置硬件。
它还具有通信速度控制功能,可以根据特定需求调整波特率,以便与不同速度的设备进行通信。
除了提供额外的串行通信通道外,UART扩展芯片还具有其他功能。
例如,一些扩展芯片可以提供自动流控制功能,可以向外部设备发送信号以指示其暂停或继续传输数据,从而避免数据溢出或丢失。
另外,一些扩展芯片还包含错误检测和纠正功能,可以检测并纠正传输中的错误,提高通信的可靠性。
UART扩展芯片有许多应用。
它们常用于工业自动化领域,用于连接各种外围设备,如传感器、执行器和控制器。
通过使用多个串行通信通道,可以同时监测和控制多个设备,提高系统的响应速度和效率。
此外,UART扩展芯片还广泛应用于通信设备中,如调制解调器、无线模块和网络设备。
这些设备需要与计算机或其他设备进行串行通信,因此UART扩展芯片可以提供额外的通信通道,以满足多设备连接的需求。
值得注意的是,UART扩展芯片通常需要与主处理器进行连接,并进行相应的软件编程。
主处理器需要对扩展的串行通信通道进行初始化和配置,并通过读取和写入相应的寄存器来控制数据的传输和接收。
因此,在使用UART扩展芯片之前,开发人员需要对UART通信协议和相关的编程技术有一定的了解。
总结起来,UART扩展芯片是一种用于扩展UART功能的集成电路,可以提供额外的串行通信通道,并具有其他功能,如流控制和错误检测。
《电子线路CAD实习》实习课题五:RS232串行口扩展设计一、功能要求利用MAX232芯片实现将一路RS232串行输出信息扩展为八路RS232串行输出信息。
二、原理设计根据电平匹配和输出要求选择实现方案,设计出系统原理图,并进行参数计算和元器件选择,说明电路的工作原理。
三、设计要求1)在所选原理图中要有自己绘制的元件符号;2)利用自动布局、自动布线的方法,将原理图转换为印刷电路板图;3)印刷电路板图上的元件要按工艺要求和电气性能进行排列,布线率要求100%;4)电源线的宽度为20mil,接地线的宽度为30mil,其余接线宽度为10mil,并分别将电源、接地、输入、输出等端用接插件或焊盘引出,输入/输出信息采用DB9插座;5)利用手工编辑的方法对电路板进行编辑和修饰;6)利用系统的网络表比较功能,对原理图和印刷电路板图进行比较,结果应完全一致;7)绘制完毕,要产生自己的项目封装库;8)将所设计内容在屏幕上演示出来。
9)根据具体情况进行电路仿真:3D仿真,检查布局和布线的合理性。
四、撰写实习报告实习报告是在完成设计、仿真、绘制后,对学生归纳技术文档、撰写科学论文和科研总结报告能力的训练。
通过编写实习报告,不仅可以将设计、绘制、仿真及技术参数的内容进行全面总结,而且可以把实践内容提升到理论高度。
实习报告通常包括如下的内容:1)课题名称。
2)内容摘要。
3)设计内容及技术要求。
4)系统方案,画出系统原理图。
5)单元电路设计,参数计算和元器件选择。
6)画出完整的原理图,并说明电路的工作原理。
7)设计PCB板图,PCB图的3D仿真图。
8)列出系统所需要的元器件清单。
9)总结收获体会:总结设计电路的特点和方案的优缺点,归纳课题核心及其应用价值,提出改进意见。
10)列出参考文献。
五、参考图芯片原理见附件。
9针串口(DB9)25 针串口(DB25)针号功能说明缩写针号功能说明缩写1 数据载波检测DCD 8 数据载波检测DCD2 接收数据RXD3 接收数据RXD3 发送数据TXD 2 发送数据TXD4 数据终端准备DTR 2 0 数据终端准备DTR5 信号地 GND 7 信号地GND6 数据设备准备好DSR 6 数据准备好DSR7 请求发送RTS 4 请求发送RTS8 清除发送CTS 5 清除发送CTS9 振铃指示DELL 22 振铃指示 DELL2.RS232C串口通信接线方法(三线制)9针-9针 25针-25针 9针-25针2 3 3 2 2 23 2 2 3 3 35 5 7 7 5 7关于串口连接线的制作方法在电脑的使用中往往会遇到各种各样的连接线。
这些连接线外观上好像都差不多,但内部结构完全不同并且不能混用。
如果在使用中这些连接线坏了,往往很多使用者都不知道应该怎么办,下面就给出这些常见的连接线的连线方法以便于修理或查找故障。
在介绍之前先对一些市场常用名词做出解释。
现在所有的接头都可以分为公头和母头两大类。
公头:泛指所有针式的接头。
母头:泛指所有插槽式的接头。
所有接头的针脚有统一规定,在接头上都印好了的,连接时要注意查看。
在接线时没有提及的针脚都悬空不管。
串口联机线的连接方法串口联机线主要用于直接把两台电脑的com口连接。
比较早一点的AT架构的电脑的串口有为9针,和25针两种,现在的ATX架构的电脑两个串口全部是9针。
于是联机线就分为3种(9针对9针串口联机线,9针对25针串口联机线,25针对25针串口联机线)这些直接电缆连接线可以互换的连线方法如下表:9针对9针串口连接9针母头9针母头2 —— 33 —— 24 —— 65 —— 56 —— 47 —— 88 —— 725针对25针串口连接25针母头25针母头2 —— 33 —— 24 —— 55 —— 46 —— 207 —— 720 —— 69针对25针串口连接9针母头25针母头2 —— 23 —— 34 —— 65 —— 76 —— 207 —— 58 —— 4串口转接线这种转接线适用于9针串口和25针串口的转换。
作者:泰山医学院放射系房鹰丰建淑/泰安市医学仪器研究所陈兆涛摘要: 本文介绍一种新型的单片机串口扩展芯片的功能特性以及与单片机接口的应用。
关键词:单片机;多串口通信在设计由多个单片机组成的数据采集电路时,一般要用多个串口在各个单片机之间进行数据通信。
为了解决单片机扩展多个串口的问题,以前大多采用多片AT89C2051来实现多串口通信。
每个AT89C2051用并口与上位机连接,再通过AT89C2051的串口与下位机串口连接。
这种电路设计,单片机编程比较复杂,整个电路的调试也比较麻烦,可靠性不是很高。
一种新开发的SP2328串口扩展芯片很好的解决了上述问题。
SP2328是成都视普科技公司的串行口扩展专用芯片,能将普通单片机(如:AT89C2051、AT89C51等)的一个串口(UART)扩展为三个串口。
它主要解决了大多数8位、16位以及32位单片机UART串口太少的问题,扩大了单片机的使用范围。
同时,SP2328串行口扩展专用芯片也很好地解决了许多在使用双串口的单片机时,串口复杂的配置问题,能大大缩短开发周期,降低开发成本以及生产成本。
图1 DIP和SOIC封装(左)图2 SSOP封装(右)SP2328的功能特性SP2328有四个UART串口,其中包括一个母串口和三个子串口。
母串口和所有子串口都为全双工工作模式,所有串口允许同时接收、发送串行数据。
串口0~串口2为子串口,每个子串口的工作速率为75bps~4800bps。
串口3为母串口,它的数据传输速率是子串口的4倍。
串口3接收到串行数据后,SP2328芯片根据收到的地址信号,把数据通过相应的子串口发送出去。
子串口收到串行数据后,把数据通过串口3发送出去,同时给出相应的子串口地址。
串口0~串口2的波特率的设置很简单,不需要用软件设置,只要改变输入时钟的频率即可。
波特率按以下公式计算:K=2400*f(osc)/8.0(bps)其中f(osc)<=16.0MHZSP2328的直流工作电压为2.4V~5.5V,典型电流为3.7mA,带有节电模式。
I/O扩展芯片GM8166的原理与应用帷誉三很多设计人员在开发单片}几应用系统时常常会遇到1t0口不够用的情况,此时一般采用的解决方案是利用74HC573,74LS164,74LS165,82C55等芯片来实现I/0扩展,但如果待开发的系统需要使用大量的UO口,使用上述器件就将存在PCB面积增大,成本高等缺点.成都国腾微电子有限公司开发的GM8166芯片通过串人并出,并入申出并人并出转换完成IIO口的扩展I/O口为双向口,最高工作频率为】0MHz,可配合MCU完成对多个外围电路的控制和信号采集工作.1/O口最大OC/EN:并行输出,输入允许控制信号,LE:并行输出数据锁存信号;Sel:接入SPI总线控制信号;ModSel:井串/串井转换模式和井口切换模式选择信号SP/Mux:井串和串井转换选择信号或1路输入3路输出和3路输人1路输出模式选择信号M0,Ml:工作方式控制信号,选择工作的I/O端口PData:32位输入/输出数据口Ilt1I¨糕穗,并串转换功能为井口比较紧张的系统通过串口扩展32位并行口井口切换功能可以将1组8位并口扩展成3组8位并口,通过控制信号在3组并口中切换完成输八,输出功能,SPI总线功能使该芯片可以接人SPI总线中作为从设备进行数据收/发,同样完成串并转换的功能.用户在只使用以上三种功能中的一种时.可以将某些不需要的控制引脚接人固定电平,无需占用系统资源. (详细情况查看成都国腾微电子有限公司发布的GM8】66 产品资料】GM8166与MCU接口及编程应用串并转换典型应用单片机扩展UOgl可以通过串行口工作方式O来实现,图2是单片机通过串口扩展b'O口时与GM8166的按I:1框图.此电路利用单片机89C51串口工作方式0来进行单片机的I/0口电路的扩展.GM8166的各个控制引脚由89C51控制,可在GM8166的各工作模式间进行转换.若只需使用一种或几种工作模式,可将不用的控制引脚置入所需电平,无需接八MCU,例如此例中因为只用1片GM8166,所以将CSN固定接地,同时GM8166只工作在串并/并串转换模式下,所以将ModSel引脚固定接地. Sel目『脚固定接高电平.软件示例(以C51为例):,●蕾4?2004.3,下半月I誊哥矗矗t量 #include<reg5lh>/I,O定义}}$$$sbitSP=PI0:串并/并串模式选择信号sbitMl=P1t;工作方式控制信号1sbitMO=P12//工作方式控制信号0sbitOC=P13:,,并行输出/输人允许信号sbitLE=PI4://并行输出数据锁存信号sbitCLK=P31:,数据变量定义}}$,unsignedcharSendBuff_4J={Oxff,0xff,0x67,Oxbc); unsignedcharReceiveBuff【2]={0x00,OxO0}; unsignedchari=O,j---o:/主程序}}$}{}}}$}$,voldmain(void)(SCON=0x00;//设置MCU串行口工作方式为方式0PC0N--0x00;32位串人井出转换/S—P=I;M1=1:M0=I;设定GM8166工作模式为32位的串人并出模式OC=1;∥输出禁止LE=I:,,输出锁存开如r(I_0:l<4:l++)(SBUF=SendBuff【il;发送数据到GM8166while(Tl~0):TI=0;)LE---O:输出数据锁存OC--.O;,,输出允许/16位并人串出转换/S—P=o:M1=1;M0=0设定GM81667-作模式为16位的并入串出模式OCt;并行输入允许CLK--0:CLK=I//并行口数据置人寄存器OC=1;//并行输人禁止for0=O也0¨)(REN=Iwhile(RI一0);ReceiveBuff[jI=SBUF;串行数据输人89C51RI=0:REN--0;))GM8166设计了SPI总线接口,可接人SPI总线作为从设备进行数据传输.使用该功能时Sel和ModSel引脚囡接低电平,其他不用的控制线也可以根据需要接人固定电平.串入井出时工作方式为SPI传输模式中的CPOL--0,CPHA=O时的模式,并人串出时工作方式为SPI 传输模式中的CPOL=I,CPHA=0时的模式,CSN为总线片选信号.因为该芯片并行输人采用同步方式,所以在进行并人串出转换时,CSN置'0'后,必须先将OC/EN信号置'0'时,同时提供一个时钟上升沿,将输八端日数据井行保存到移位寄存器中,然后将Oc,EN信号置'1'.之后主机才能启动传输(此方式和不接人SPI时相同)当用户系统需要的1/O口超过32位时,可用多片GM8166级连实现缎连方法简单,将上一级8166的SDataIq与MCU的串Iq相接,CData口与下一级8166的SData口相接即可.并口切换功能应用GM8166提供并口切换输入,输出功能,利用该项功能,可以实现3路8位IZl的开关切换.以89C51单片机为例,硬件接KI示例目见图3.软件示例(C5l为例):VcSePSP/IqexePl10M1(1srPPocIENP.1LE89C5lG-8166P1.5CLKPData口:O】PO#include<reg51h>,I,O定义十{}$}$}{}{十十}十,sbitMux=PI0;//1路输人3路输出和3路输入I路输出选择信号sbitMI=PII:flGM81~的工作方式控制信号1sbitM0=PI2:GM8166的工作方式控制信号0sbitOC=PI3;//并行输出允许信号sbitLE=P14;并行输出数据锁存信号sbitCLK=Pl^5;,/l耐钟信号,}}}}{}{十+{主程序}}}}}十}}$}$}$}$voidmain(void){1路输八,3路选择输出tMux=0;∥选择l路输入.3路输出模式M1=l:M0=0;//选择1/0115:8]口输出OC=1:,,禁止输出LE=I;,,输出锁存开P0--0xaa;/,TO口输出数据CLK=0:CLK=I;数据置人寄存器LE=O;,,并行输出数据锁存OC=0;并行输出允许开Ml=0:2004.3,下半月?誊昔矗二t暴?65//选择I/O[23:16]口输出//P0口输出数据CLK=I;//数据置入寄存器LE=1;//并行输出数据进入锁存器LE=0;//并行输出数据锁存3路选择输入,1路输出/Mux=1;//选择3路输入,1路输出模式M1=1;M0=1;//选择I/O[31:24]口输入OC=I;//禁止输出LE=1;//输出锁存开CLK=0;CLK=I;//数据置入寄存器LE=0;//并行输出数据锁存OC=0;//并行输出允许开结语GM8166性能稳定,速度高,使用方法灵活,软件编程简单,适合于大多数单片机应用系统使用,可广泛应用于以下领域:通信设备:IC卡话机,雷达控制;安防电路:报警器,消防控制;仪器仪表:电表控制,多路采集;工业控制:印刷机械控制,注塑机控制,机车控制,相机控制;金融机具:POS机,IC卡机具GM8164在LED显示屏,Ic卡话机等I/O密集形应用中.该芯片不足之处在于由于功能多,所以控制线稍显复杂,但使用过程中多数控制线可根据需要接固定电平, 不需要占用MCU资源.其次,32位I/O口只能同为输入口或同为输出口,对于某些应用不太方便.■Il器也能测量100MHz的正弦波.由于方波之中有部分高频波的频率比基本频率高很多倍,因此示波器必须提供远远超过100MHz的输入带宽才可测量100MHz的方波.取样时若带宽不足,便会遗失原来信号的高频部分及振幅.这样,方波便无法以方波的形状显示在示波器的屏幕上.取样率是A/D转换器将模拟信号转为数字信号的速率.取样率越高,高频信号便可更精确地复原.例如,以1GSPS取样率复原的100MHz信号比以500MHz取样率复原的同一信号更接近原来的信号.因此,像ADC081000这类高取样率,高输入带宽及低位错误率(BER)的数字模拟转换器是将高频信号数字化的理想转换器,最适用于系统的设计及测试.测试设备厂商可以利用这款A/D转换器开发成本低廉的高性能测试设备. 直接将射频或中频下变频的数字接收器在工作原理上,数字接收器与超外差接收器非常相似.但多年来A/D转换技术的发展一日千里,令接收器可以更大量采用数字集成电路.当然接收器的数字电路越靠近天线,便越能发挥接收的优势.因此有人认为可将A/D 转换器置于射频系统的输出端,以便直接进行射频取样. 66?2004.3/'F~,q雷号煮品t摹,II,,II,,II,.eepw.corn.en这个设计看似合理,但会产生另一个问题,我们不得不加以考虑.为了能够预先抑制不需要的带外信号,以及满足A/D转换器所要求的频率范围,已接收的信号在输入A/D 转换器之前必须先加以滤波,以及接受自动增益控制.因此很多数字接收器采用折衷的办法,先由输出端的第一及第二中频级将模拟信号转为数字信号,使带外信号还未进入A/D转换器之前先行接受滤波,也确保部分信号在未进入A/D转换器之前先行在模拟级接受自动增益控制,以尽量避免带内信号过驱动A/D转换器,使信号在进行D转换之前可以达到最大的信号增益.此外,我们若采用中频取样及数字接收技术,便无需另外加设中频级如混频器,滤波器及放大器,可以降低成本,而且系统设计工程师若采用可编程数字滤波器取代固定的模拟滤波器,便可充分发挥设计上的灵活性. 由于1.8GHz的ADC081000芯片可提供3dB的带宽,因此最适用于射频或中频的直接取样.这款转换器芯片可大幅减少所需昂贵模拟芯片的数目,有助减低系统的总体成本.此外,即使采用远比尼奎斯特规定还要高的输入频率操作,总谐波失真也可保持在较低的水平,让卫星接收等取样率不足的系统也可正常工作.■。
问题的提出。
为什么要USB转串口?昨天去看了很多电脑主板外围接口,发现现在很多主板都取消了DB25并口,甚至有些也取消了DB9串口,这是新的架构决定了。
但是现在主板都提供很多USB通道,搞电子技术开发和应用做的设备常常是ISP10并口或者232串口,所以有必要学会USB转并口、232串口、BLASTER、JTAG口的电路原理,下面是介绍CH340芯片结构的USB转串口电路,软件驱动部分以后再谈或者可以下载现成的驱动程序。
1、概述 CH340 是一个USB 总线的转接芯片,实现USB 转串口、USB 转IrDA红转打印口。
外或者USB 转打印口。
在串口方式下,CH340 提供常用的MODEM联络信号,用于为计算机扩展异步串口,(二)转打印口的说明请参考手册(二)或者将普通的串口设备直接升级到USB 总线。
有关USB 转打印口的说明请参考手册CH340DS2。
在红外方式下,CH340 外加红外收发器即可构成USB 红外线适配器,实现SIR 红外线通讯。
线通讯。
2、特点 ● 全速USB 设备接口,兼容USB V2.0,外围元器件只需要晶体和电容。
,外围元器件只需要晶体和电容。
● 仿真标准串口,用于升级原串口外围设备,或者通过USB 增加额外串口。
增加额外串口。
● 计算机端Windows 操作系统下的串口应用程序完全兼容,无需修改。
操作系统下的串口应用程序完全兼容,无需修改。
● 硬件全双工串口,内置收发缓冲区,支持通讯波特率50bps~2Mbps。
● 支持常用的MODEM 联络信号RTS、DTR、DCD、RI、DSR、CTS。
● 通过外加电平转换器件,提供RS232、RS485、RS422 等接口。
等接口。
● 支持IrDA规范SIR 红外线通讯,支持波特率2400bps 到115200bps。
● 由于是通过USB 转换的串口,所以只能做到应用层兼容,而无法绝对相同。
转换的串口,所以只能做到应用层兼容,而无法绝对相同。
应用手册 第一节 简介随着现代工业发展,使用串口作为通信的设备在不断增加。
通常一般控制器自带的串口只有2路,难以满足多个外设的需要,所以串口扩展就变的很必要。
串口扩展通常有下面几种方式,一种是通过IO 来软件模拟,此方法优点是灵活性好,但是占用资源比较多,而且只能实现低速模式,准确性较差。
二是通过专用的串口扩展ic 。
这个成本较高但是稳定性好,更便于系统集成。
第二节 wk2166芯片剖析WK2166是业界首款具备 UART/SPI TM/IIC/8位并行总线接口的4通道UART 器件。
对于整wk 系列的串口扩展芯片在结构上都是如下结构:主接口通过其中的uart/iic/spi/并口中的一种连接到MUC 。
那么MUC 就可以通过读写数据来控制wk 芯片。
转换协议主要实现主接口和子串口数据之间的交换转转换。
子串口就是扩展出来的uart ,子串口控制模块主要实现对子串口波特率、数据格式和子串口状态等的控制和指示。
第三节 硬件电路和评估板1) 各部分电路详解1、 UART 扩展电路x -P DF Wa te rma r2、 spi 扩展电路3、 iic 扩展电路x -P DF W a t e r ma r k4、 并口扩展电路x -P D F W a t e r m a r k第四节 软件编程1) 主接口时序分析和编程1、 Uart 时序和协议分析请注意当主接口设置为Uart 模式的时候。
我们芯片的主uart 是波特率自适应的。
具体的操作是,在芯片上电复位完成后,控制器发送0X55来完成波特率的匹配。
以后就按照当前的波特率进行通信。
A 、 主uart 写寄存器操作写操作时,先向VK35的RX 写入一个命令字节(Command Byte ),随后写入相应的数据字节,其操作时序(无校验和红外模式)如图写寄存器时序写寄存器协议 分类 控制字节 CMD 1个数据字节 DB(下行)BIT 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 TX 0 0 C1 C0 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1D0RX编程参考:/*************************************************************************/ //函数功能:写寄存器函数(前提是该寄存器可写,某些寄存器如果你写1,可能会自动置0,具体见数据手册)//参数:port:为子串口的数(C0C1)// reg:为寄存器的地址(A3A2A1A0) // dat:为写入寄存器的数据//注意:在子串口被打通的情况下,向FDAT 写入的数据会通过TX 引脚输出//*************************************************************************/ void write_reg_35(unsigned char port,unsigned char reg,unsigned char dat) { Uart1_sendbyte(((port-1)<<4)+reg); //写指令,对于指令的构成见数据手册 Uart1_sendbyte(dat);//写数据}B 、 主uart 读寄存器操作读操作时,先向WK2166的RX 写入命令字节,相应的数据字节从MTX 读取,其操作时序,如图读寄存器时序x -P DF Wa te rma r k读寄存器协议 分类 控制字节 CMD 1个数据字节 DB(上行) BIT 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 TX 0 1 C1 C0 A3 A2 A1 N0RXD7 D6 D5 D4 D3 D2 D1 D0编程参考:/*************************************************************************/ //函数功能:读寄存器函数//参数:port:为子串口的数(C0C1)// reg:为寄存器的地址(A3A2A1A0) // rec_data:为读取到的寄存器值//注意:在子串口被打通的情况下,读FDAT ,实际上就是读取uart 的rx 接收的数据 /*************************************************************************/unsigned char read_reg_35(unsigned char port,unsigned char reg) { unsigned char rec_data;Uart1_sendbyte(0x40+((port-1)<<4)+reg); //写指令,对于指令的构成见数据手册 rec_data=Uart1_receivebyte(); //接收返回的寄存器值 return rec_data; }C 、 主uart 写FIFO 操作 写FIFO 协议:(多字节写入) 分类 控制字节 CMD [N3 N2 N1 N0]个数据字节 DB(下行) BIT 7 6 5 4 3 2 1 0 7 6 5 4 3 2 10 TX 1 0 C1 C0 N3 N2 N1 N0 D7 D6 D5 D4 D3 D2 D1 D0RX编程参考:/*************************************************************************/ //函数功能:写FIFO 函数(该函数写入的数据会通过uart 的TX 发送出去) //参数:port:为子串口的数(C0C1) // *dat :为写入数据指针// num :为写入数据的个数,不超过16个字节(N3N2N1N0)/*************************************************************************/x -P DF Wa te rma r kvoid write_FIFO_35(unsigned char port,unsigned char *dat,unsigned char num) { unsigned char i; Uart1_sendbyte(0x80+((port-1)<<4)+(num-1)); //写指令,对于指令构成见数据手册 for(i=0;i<num;i++) { Uart1_sendbyte(*(dat+i));//写数据 } }D 、 主uart 读寄存器操作 读FIFO 协议:(多字节写入) 分类 控制字节 CMD[N3 N2 N1 N0]个数据字节 DB(上行)BIT 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 TX 1 1 C1 C0 N3 N2 N1 N0RXD7 D6 D5 D4 D3 D2 D1D0编程参考:/*************************************************************************/ //函数功能:读FIFO 函数(该函数读取的数据是FIFO 缓存中的数据,实际上是uart 的rx 接收的数据)//参数:port:为子串口的数(C0C1)// *dat :为读到数据指针// num :为读出数据的个数,不超过16个字节(N3N2N1N0)/*************************************************************************/ unsigned char read_FIFO_35(unsigned char port,unsigned char *dat,unsigned char num) {unsigned char n;Uart1_sendbyte(0xc0+((port-1)<<4)+(num-1));//写指令,对于指令构成见数据手册 for(n=0;n<num;n++) *(dat+n)=Uart1_receivebyte();//读数据 }2、 spi 时序和协议分析WK2166工作在SPI 同步串行通信的从机模式下 ,支持SPI 模式0标准。
1概述GM8125可以将一个全双工的标准串口扩展成5个标准串口,并能通过外部引脚控制串口扩展模式:单通道工作模式和多通道工作模式,即可以指定一个子串口和母串口以相同的波特率单一的工作,也可以让所有子串口在母串口波特率基础上分频同时工作。
该芯片工作在多通道模式下时,子串口能主动响应从机发送的数据,并由母串口发送给主机,同时返回子串口地址。
该模式使每个从机的发送要求都能被及时地响应,即使所有从机同时有发送要求,数据也不会丢失,基本实现了主控单元和外设通讯的实时性。
该芯片母串口和子串口的工作波特率可由软件调节,而不需要修改外部电路和晶振频率。
该芯片的外部控制少,应用灵活,编程使用简单,适用于大多数有串口扩展需求的系统。
2特征——采用写控制字的方式对芯片进行控制——各子串口波特率可调(统一调节)——数据格式10位或11位可选——单通道模式下,最高波特率支持20Mbps;多通道模式下,子串口最高波特率38400bps ——子串口数:5个——由一个引脚选择芯片的工作方式是单通道工作模式还是多通道工作模式——在单通道工作模式下,芯片工作无需初始化设置,工作串口由地址线控制选择——在多通道工作模式下,各子串口的波特率等于母串口波特率的6分频——在多通道工作模式下,接收时地址线SRADD2~0向MCU返回接收子通道的地址,MCU 接收到母串口送来的数据后就可根据SRADD2~0状态判断数据是从哪一个子串口送来的;发送时先由MCU选择子串口再向母串口发送数据——与标准串口通讯格式兼容,TTL电平输出——宽工作电压:2.3~6.7V——输出波特率误差小于0.2%,输入波特率误差要求小于2.8%——每bit采样16次,提高数据正确性——输入地址引脚有50~80KΩPull-Down电阻,其它输入引脚有50~80KΩPull-Up电阻(OSCI除外)3封装及引脚功能说明GM8125提供多电源和单电源两种封装,并提供DIP、SDIP、SOP、SSOP等多种封装形式,用户可根据各自系统的应用环境选择不同等级的封装,引脚排布见图1所示:VDDMSSTADD0STADD1STADD2SRADD0SRADD2RSTRXD0TXD0RXD5RXD4RXD3RXD2RXD1TXD5TXD4TXD3TXD2TXD1OSCOOSCIVDDGNDMSSTADD0STADD1SRADD0SRADD1RSTRXD0TXD0RXD3RXD2TXD3TXD2OSCOOSCIGNDVDDNCVDDTXD4RXD4TXD5RXD5SRADD2STADD2图1 GM8125引脚排布图该芯片的各引脚功能描述见表1:表1 芯片引脚功能说明引脚名方向说明OSCO Out 振荡器输出;OSCI In 振荡器输入;TXD1 Out 子通道1的发送端口;RXD1 In 子通道1的接收端口;TXD2 Out 子通道2的发送端口;RXD2 In 子通道2的接收端口;TXD3 Out 子通道3的发送端口;RXD3 In 子通道3的接收端口;TXD4 Out 子通道4的发送端口;RXD4 In 子通道4的接收端口;TXD5 Out 子通道5的发送端口;GND 电源地;RXD5 In 子通道5的接收端口;TXD0 Out 母通道的发送端口;RXD0 In 母通道的接收端口;RST In 系统复位SRADD2 In/Out 接收子通道地址2;SRADD1 In/Out 接收子通道地址1; SRADD0 In/Out 接收子通道地址0; STADD2 In 发送子通道地址2; STADD1 In 发送子通道地址1; STADD0 In 发送子通道地址0;MS In 模式选择,MS =1,单通道工作模式;MS =0,多通道工作模式; 地址线为全‘0’时,MS 为命令字读写控制引脚,MS=1,读命令字,MS=0,写命令字; VDD电源电压;4 芯片功能详细描述4.1 单通道工作模式当模式控制引脚MS = 1时,芯片工作在单通道工作模式下,单通道模式在一个时刻只允许一组RXD 和TXD 与母串口进行通讯。
单片机扩展电路(二)引言概述:在单片机应用中,扩展电路是必不可少的,它能够有效地提升单片机的功能和性能。
本文将介绍单片机扩展电路的设计原则和一些常用的扩展电路,旨在帮助读者更好地理解和应用单片机的扩展电路。
正文内容:一、IO扩展电路1. 使用74HC595芯片进行8位输出扩展2. 使用PCF8574芯片进行8位输入扩展3. 使用双向移位寄存器实现输入输出模式切换4. 使用IO扩展板实现大量IO口的扩展5. 使用IO扩展芯片实现I2C总线扩展二、ADC和DAC扩展电路1. 使用ADC0804芯片进行模拟量采集2. 使用MAX11615芯片进行多通道模拟量采集3. 使用DAC0832芯片进行模拟量输出4. 使用R-2R网络实现更高精度的模拟量输出5. 使用PWM信号和低通滤波器实现模拟量输出三、串口扩展电路1. 使用MAX232芯片进行RS232电平转换2. 使用USB转串口模块实现USB接口扩展3. 使用蓝牙模块实现无线串口扩展4. 使用WiFi模块实现无线串口扩展5. 使用以太网模块实现网络串口扩展四、定时器和计数器扩展电路1. 使用74HC161芯片进行多位计数2. 使用74HC4040芯片进行二进制计数3. 使用CD4541B芯片进行定时器功能扩展4. 使用定时器模块实现精确的时间测量5. 使用定时器和中断实现实时时钟功能五、存储器扩展电路1. 使用24CXX系列芯片进行I2C存储器扩展2. 使用AT24C256芯片进行大容量存储器扩展3. 使用SD卡进行存储器扩展4. 使用EEPROM芯片进行非易失性存储器扩展5. 使用Flash芯片进行可擦写存储器扩展总结:单片机扩展电路的设计具有很大的灵活性,可以根据具体应用需求选择不同的扩展电路。
本文对IO扩展电路、ADC和DAC扩展电路、串口扩展电路、定时器和计数器扩展电路以及存储器扩展电路进行了详细介绍,希望读者能够通过学习掌握单片机扩展电路的设计方法和应用技巧,为自己的项目开发提供更多的选择和可能性。
UART串行扩展接口应用实例UART(Universal Asynchronous Receiver/Transmitter):通用异步收发器,既能同步又能异步通信的硬件电路称为UART。
UART是用于掌握计算机与串行设备的芯片,它供应了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其他使用RS-232C接口的串行设备通信了。
80C51的串行通信口是一个功能强大的通信口,而且是相当好用的通信口。
用于显示驱动电路特别合适,下面我们就依据这种需要用两个串行通信口线加上两根一般I/O口线,设计一个4位LED显示电路。
当然只要再加上两根I/O口线即可轻易实现8位LED显示电路。
例1:如图1所示的电原理图,利用74LS164串行输入并行输出芯片作一个简洁的电子钟,要求四个数码管显示时钟;其中LED1显示小时的十位,LED2显示小时的个位,LED3显示分钟的十位,LED4显示分钟的个位。
图1 串行动态LED扫描电路解:采纳单片机的串行口输出字形码,用74LS164和74LS139作为扩展芯片。
74LS164的功能是将80C51串行通信口输出的串行数据译码并在其并口线上输出,从而驱动LED 数码管。
74LS139是一个双2-4线译码器,它将单片机输出的地址信号译码后动态驱动相应的LED。
因74LS139电流驱动力量较小,故用末级驱动三极管9013作为地址驱动。
将4只LED的字段位都连在一起,它们的公共端则由74LS139分时选通,这样任何一个时刻,都只有一位LED在点亮,也即动态扫描显示方式,其优点使用串行口进行LED通信程序编写相当简洁,用户只需将需显示的数据直接送串口发送缓冲器,等待串行发送完毕标志位即可。
参考程序如下:上面是一个简洁的动态扫描程序,假如再利用上第6章的定时器就可做成一个完整的电子钟,四个数码管显示为00:00这种形式。
在本例中冒号就不显示出来了,分别用20H、21H 、22H、23H地址在放时间的时钟的十位、时钟的个位、分钟的十位、分钟的个位。
PC机扩展RS-232接口PC 机的RS-232C 串行口是使用最多的接口之一。
因此,4 串口、8 串口等以增加串口数量为目的的ISA 总线卡产品大量问世。
一般串口应用只是使用了RXD 和TXD 两条传输线和地线所构成的串口的最基本的应用条件,而本文介绍一个利用PC 机的RS-232 串口加上若干电路来实现多串口需求的接口电路。
1.PC 机串口的RTS 和DTR 及扩展电路RTS 和DTR 是PC 机中8250 芯片的MODEM 控制寄存器的两个输出引角D1 和D0 位,口地址为COM1 的是3FCH,口地址为COM2 的是2FCH。
我们可以利用对MODEM 控制寄存器3FCH 或2FCH 的写操作对其进行控制。
从而利用该操作和扩展电路实现对TXD 和RXD 进行多线扩展,图1 是其扩展电路。
在图1 所示的PC 机串口扩展电路中,74LS161 是二进制计数器,1 脚是清0 端,2 脚是计数端,计数脉冲为负脉冲信号,4051 是八选一双向数字/模拟电子开关电路,其中一片用于正向输出,一片用于反向输出。
该扩展电路工作原理是通过控制PC 机串口的DTR 输出的高低电平来形成74LS161 的P2 脚计数端的负脉冲信号,使161 的输出端P14(QA)、P13(QB)、P12(QC)、P11(QD)脚依次在0000 到1111 十六个状态中变化,本电路仅使用了QA、QB、QC 三个输出来形成对4051的ABC 控制,最终使得4051(1)的输入端TXD 依次通过与TX1~TX8 导通而得到输出信号,4051(2)的输出端RXD 与RX1~RX8 依次导通形成输入信号。
由于RXD 和TXD 的导通是一一对应的,因此串口通信就可以依次通过与多达8 个带有三线基本串口的外部设备进行通信传输以实现数据传送。
PC 机端的电平转换电路是将RS232 电平转换为TTL 电平,外设端的电平转换电路是将TTL 电平转换为RS232 电平。
Vk32xx系列芯片的使用心得1、关于晶振的使用。
我们的芯片是使用无源晶振还是有源的晶振那。
我们的芯片的时钟输入为内部时钟输入和外部时钟输入,在内部时钟输入时,我们一般使用无源晶振,为系统提供时钟;具体的选择晶振的大小,请参看数据手册波特率的配置。
当选择外部时钟输入时,我们可以选择有源晶振或者其他外部时钟为我们的系统提供时钟。
2、问:我们芯片的458模式怎么使用。
答:我们的485模式可以系统的分为两类。
通常在485模式下我们的芯片只支持带9位地址和数据。
如果需要传输8位的数据,我们应该设置为232模式,其次需要通过控制RTS信号,完成RS485的自动收发。
3、波特率修改问题1、波特率的初始化。
Vk系列芯片的波特率可以编程配置,在初次通信中一般使用vk系列芯片默认的波特率通信。
当控制器与vk芯片初次通信成功以后才可以再修改主通道或者子通道的串口的波特率。
2、波特率修改问题。
Vk系列芯片波特率可以修改,修改波特率就是配置相关寄存器。
3、波特率匹配问题。
由于Vk系列芯片内部缓存有限,所以在大量数据传输的时候,要注意通信中波特率控制的问题。
首先,在数据发送的过程中,主串口的波特率最好不要大于子串口波特率的4倍。
否则可能造成数据出错,对于这样的情况我们最好保持串口之间的波特率一致,或者在每次发送数据之间增加延时处理。
其次,在数据接收的过程中,波特率的设置时最好主串口的波特率大于子串口的波特率,以免造成主串口数据拥堵,然后我们最好使用中断或者带流量控制的芯片,以保证进入子串口的数据能被及时读取,避免数据溢出。
4、中断问题1、中断的理解,vk系列芯片的中断系统可以分为两级,一级为全局中断,一级为modem和子串口中断。
当我们使用中断的时候,首先要开全局中断,然后再开相关子串口中断,这样我们的中断才能正常使用。
5、FIFO使用问题1、发送FIFO在发送数据的过程中。
当子串口使能的情况下,写入发送FIFO的数据被立即发送出去。
WK系列通用异步串口UART产品产品介绍:WK提供目前业界收发缓存最大、接口最全、尺寸最小的高性价比UART 器件,芯片内置多种总线数据转换处理协议,为工业和便携设备等嵌入式系统提供先进的串口扩展器件。
产品特点:}接口最全:--WK系列UART产品主接口支持UART、I2C、SPI、8位并行总线可选--业内独创通过标准三线UART串口扩展UART技术。
}收发缓存最大:--每个扩展串口具备256级收发独立FIFO--支持超时中断和任意可设置FIFO触发点中断--防止串口通信数据溢出,减少CPU响应中断次数---有效提高基于嵌入式OS系统中串口通信的实时性和可靠性。
}封装最小:--系列产品采用SSOP16/20,QFP44,QFN24/32封装--WK2204采用4*4mm的QFN24封装,为业界最小的4通道低电压UART --WK2166为QFP44封装,为业界最小的工业级宽电压4通道UART}主接口特性:--UART接口:波特率自适应技术,最高速率2Mbps,支持16字节连续收发;--SPI接口:从模式,最高速率10Mbps,支持256字节连续收发;--IIC接口:从模式,最高速率1Mpbs,支持16字节连续收发--8位并口:标准8位总线模式,最高速率10MBps,仅占用2个地址空间}扩展串口特性:--系列产品支持2-4个扩展标准串口可选--每个扩展串口波特率、字长、校验格式可以独立设置,并可单独软件复位;--扩展串口最高通信速率可达2Mbps;--扩展串口可以支持RS485自动收发,自动485网络地址识别;--可设置为SIR标准的IrDA红外通信模式,速率可达115.2kbps。
}设计资源和支持:--Linux/Android 系统级串口驱动,参考源代码--8051,STM32 应用参考源代码--EVB开发评估板产品应用:l移动便携设备:行业PDA、行业平板、移动收款机、便携数据采集终端l工业控制:串口服务器、自动化现场控制、POS机、工业机器人,无人机l仪器仪表:智能仪表、AMR远传抄表设备、工业/医疗采集仪器l通信设备:工业网络通信设备、串行基站控制器、串行通信终端l汽车电子:车载导航系统、停车管理系统、汽车安全行驶记录仪(黑匣子)l智能硬件:智能家居控制设备、可穿戴采集设备、智能安防,智能家电产品选型:WK21系列宽电压产品系列,工作电压2.5-5.0V ,适合工业级应用。
VK32系列多总线UART串口扩展芯片的原理和应用(上)2022-03-23 19:27摘要:UART以其简单可靠,抗干扰强,传输间隔远,组网方便,被认为是嵌入式系统中进展串行数据传输的最正确方式。
本文介绍了专为嵌入式系统设计的VK32系列新型多总线接口UART器件的原理及应用技术。
1.嵌入式系统中串口扩展的需求:而在嵌入式领域,由于UART具有操作简单,工作可靠,抗干扰强,传输间隔远〔组成485网络可以传输1200米以上〕,设计人员普遍认为UART是从CPU或微控制器向系统的其他部分传输数据的最正确方式,因此它们被大量地应用在工业、通信、和家电控制等嵌入式领域。
通常MCU/CPU都会自带一个UART串口,但实际应用中一个串口往往不够用,需要进展UART串口扩展。
目前的大多数UART器件是以计算机总线转换UART为应用根底的,其通用性、管脚、存放器与20年前很少改变,针对嵌入式应用,目前的UART器件普遍存在操作复杂,引脚多,价格较高等弱点,不能满足和适应的嵌入式系统开展的需要。
针对嵌入式系统中UART的开展趋势,维肯电子设计推出了VK32XX系列新型多总线接口UART器件,其特点为:1支持8位并行总线,SPI总线,UART等多种主机总线接口:8位并行总线接口产品可以替代目前广泛使用的16C55X系列UART用于为8位,16位,32位MCU进展UART串口扩展。
VK32系列8位并行总线接口UART产品采用了精简控制存放器设计〕,并通过管脚复用减少了芯片管脚,简化的软件设计和PCB设计都更适宜嵌入式系统需求。
SPI接口总线系列产品为带有SPI接口的DSP、MCU实现同步SPI串口到异步UART串口的桥接和扩展,尤其针对目前广泛应用的DSP系统,大多数DSP都只有同步串口,只能用于与具有同步通信接口的外设进展通信。
V32系列SPI 总线接口可以将一个SPI同步串行接口桥接/扩展成为1~4个通用异步串口,方便的实现DSP和外设的异步串行通信。
CD4052 单片机串行口扩展技术应用CD4052 是一种数字控制的模拟数据选择/ 分配器,本文将它用于UART串口扩展,解决了普通单片机UART串口太少的问题。
文中给出该器件的主要特性、引脚说明及电气特性,并以A T89C51 单片机为例给出多串口扩展应用电路。
1 概述当前,以单片机为核心构成的智能化测控系统及电子产品不断涌现,为了满足数字化及智能化要求,许多外围电路功能模块、部件、器件及传感器也具备了UART 串口通信功能,而现阶段的8 位、16 位、32位单片机却大部分仅提供一个UART 串口,这样就很难满足系统中一方面要与具有UART 功能的串口部件通信,另一方面又要与上位机通信的要求。
利用CD4052 做多串口扩展器,可很好地解决此问题。
2 封装及引脚功能该器件具有SOP、SOIC、TSSOP和PDIP四种封装形式,皆是16 个引脚。
图1 所示为其PDIP封装引脚分布图,图2 是CD4052 的逻辑图,数字控制真值表见表1。
图1 CD4052PDIP引脚分布图3 工作特性CD4052 模拟数据选择/ 分配器是数字控制的模拟开关,具有低导通阻抗和非常低的关断泄漏电流。
315V 的数字信号可以控制15VP- P 的模拟信号。
例如,若VDD = 5V , VSS = 0V , VEE = - 5V ,则的数字信号可以控制- 5V + 5V 的模拟信号输入输出。
数据选择器在整个VDDVSS 和VDDVEE 范围具有非常低的静态功耗,而且与控制信号的逻辑状态无关。
图2 CD4052 的逻辑图表1 真值表CD4052 是一个独立的4 通道数据选择器,具有二进制控制输入端A、B 和一个禁止输入INH。
A、B的四种二进制组合状态用来在四对通道中选择其中的一对,当逻辑“1”加到INH 输入端时,所有的通道都关闭。
CD4052 的器件特性为:1) 宽范围的数字和模拟信号电平:数字315V ,模拟可达15VP- P。