串口扩展芯片介绍
制将被禁止 1、485模式使用当中使用到的寄存器: SCTLR子串口控制寄存器:主要用于485与232之间的模式选择(MDSEL 位0为232,1为485) SCONR子串口配置寄存器:配置数据检验和网络地址识别 SADR子串口自动识别地址寄存器:子串口的网络地址 SADEN子串口网络地址自动识别使能寄存器:有些芯片有该寄存器,有 些芯片没有。 2、RS485连接图 RTS信号用于控制RS485收发器的 自动收发控制。
流量控制:分为自动硬件流量控制、手动硬件流量控制、软件流量控制 1、自动硬件流量控制: 硬件自动流量控制模式下,一旦数据接收端接收fifo中数据个数达到设定 的触发点时,为防止接收fifo溢出,接收端将自动拉高RTS,发送端的CTS 变高,数据发送端检测到CTS变高后,将发送完当前字节后暂停数据发 送。发送端暂停数据发送后,接收端主机接口读取接收fifo数据释放接收 fifo空间,当接收fifo数据个数减少到小于发送触发点时,接收端CTS自动 变为低电平,发送端相应的RTS变为低电平,发送端检测到RTS为低电 平后,将恢复数据发送 自动硬件流量控制连接图:
8位并口: 1、标准8位mcu总线接口 2、命令和数据共用8位地址总线,通过AD(数据/控制)信号进行切换 3、子通道选择通过命令字控制和指示,无需额外通道指示信号线 4、仅占用2个地址空间,一个用来操作地址寄存器,一个用来操作数据 寄存器 与主机连接图:
数据收发流程:
中断使用: 中断的使用方式: A、首先使能全局中断 GIR B、使能相应子串口相应的中断 SIER C、对于接收和发送FIFO触点中断需要设置中断触点,也就是中断产生 的条件 SFOCR//设置一些固定的中断触点 中断处理方式: 当中断来了以后我们应该怎么判断全局中断 首先判断是哪个子串口的中断 GIR 判断具体的中断源 SIFR
更加明显,对MCU处理数据效率影响很大)
4、RS-485有自动收发控制,自动网络地址识别。(485设备是半双工设备,在
uart通信时候需要收发转换,如果芯片自带这样逻辑,就大大减少了系统软硬件设计,同时系统更 加稳定)
5、数据广播,子串口独立设置是否接收数据广播。(主串口向任意通道发送数据, 都将会被使能广播的子串口接收,未设置使能的子串口将忽略这些数据) 6、红外通信,子串口可独立设置工作于红外通信模式(SIR)(传输速 度115.2Kbit/s) 7、流量控制,RTS/CTS硬件自动/手动流量控制,XON/XOFF软件自动 流量控制。
VK3366分析: 总体特性: 1、支持多主机接口模式:8位并口(10Mbit/s)、SPI(5Mbit/s)、 UART(1Mbit/s)、I2C(400kbit/s)(为串口扩展提供丰富的选择,设计更加灵 活) 2、低功耗设计,支持自动休眠,自动唤醒功能(us级唤醒)(向GCR的
IDLE位写入1,将进行休眠模式,系统时钟将停止降低功耗,一旦SCS,CS,主口MRX,子串口的RX 有数据改变,系统自动唤醒。对于使用率较低,可以关闭芯片时钟进入休眠状态,降低系统功耗, 特别是工业平板,pos机)
编程技巧:
电路硬件检查: A、首先检查电源,看芯片电源正和GND是否正常。芯片焊接是否有虚焊,过焊,和短路 的情况。 B、首先查看晶振是否起振,起振是否正常;然后检查复位引脚,复位后应该保持高电平。 C、检查模式配置引脚,M1M0选择模式是否正常。 如果选择uart模式,请注意IR功能引脚,通常应该设置为普通模式。 如果选择是I2C模式,请注意IA1和IA0这两个地址引脚是否和编程中写的一致。 软件调试:在保证硬件没有问题的情况下可进行软件调试。 A、上电后最好进行复位。保证芯片处于一个初始状态(在调试阶段复位很关键,很多调 试不正常可能都是由于前期错误操作导致的,只要复位,可避免前期错误操作带来的影响) B、通常我们调试软件都是先调试主接口通信。我们可以通过读VK3XXX芯片某些值比较固 定的寄存器,来判断主接口是否通信成功。比如:SCTLR C、读调试成功好,然后再调试写。通过读来验证写寄存器是否成功了。 D、如果读写都没有问题了,那么就可以开始你的编程之旅了。
基于VK3266
UART介绍 1、并行通信:数据在多条并行一位宽的传输线上同时由源传送到目的
2、串行通信:数据在单条一位宽的传输线上,一位一位按顺序分时传 送
串行和并行通信比较:
在串行通信中有两种基本通信方式:异步通信和同步通信 同步通信:
·通信的双方以相同的时钟频率进行。
·共享一个时钟源保证发送和接收双方的数据准确同步。 ·效率较高。
2、手动硬件流量控制: 工作在手动模式下,通过手动写RST寄存器拉高或拉低RST 引脚信号。 为1是暂停数据发送端发送数据,为0数据发送端继续发送数据。 3、自动软件流量控制: 自动软件流量控制模式下,一旦数据接收端接收FIFO中数据个数达到设 定的触发点时,防止数据溢出,VK自动通过TX发送一个XOFF字符,发 送端接收到这个字符后,暂停数据发送。接收端主机接口读取FIFO数据 释放FIFO空间,当数据减少到继续发送的触发点时,接收端向发送端发 送一个XON字符,发送端接收到该字符后恢复数据发送。
原理图:
CPU与VK3XXX之间的通信原理: CPU和VK3XXX之间的通信原理很简单。都是通过不同的主线去读取VK 芯片的寄存器,也就是通过CPU的总线接口接收或者发送数据,但是需 要按照VK3XXX的操作时序来进行。由于VK3XXX芯片内部有关的协议 解析单元,来识别CPU对它的操作。如果时序或者命令格式不对, VK3XXX可能不能做出正确的应答,甚至导致整个操作时序的错误,这 个时候需要对整个芯片进行复位操作。
异步通信: ·异步通信不要求双方同步,没有要求双方要同一个时钟源。通信双方 可以用不同的时钟源。 ·发送方传送字符的时间间隔不确定。 ·传送数据简单可靠,只要按照帧格式即可。 ·传输数据效率比同步通信低
异步通信字符格式和波特率是异步通信两个重要指标。
硬件uart接收原理:
采样原理:
硬件UART采用16倍采样时钟对数据线的第7、8、9位脉冲采样,并遵 循从3中取2的原则来决定RXD的值是0还是1. 判断数值的目的在于抑制干扰和提高数据传输的可靠性,既可避免信号 边缘失真,也可防止不完全同步引起的接受错误。
RS485模式下,每个UART有唯一的一个网络地址,VK提供 了一个8位寄存器进行网络地址配置。 当自动网络地址识别功能使能时,VK对接收到的数据进行自 动识别。 网络地址由SADR和SADEN共同决定。 如果接收到的数据为数据字节或者与SADR中的地址字节不 匹配时,VK忽略这些数据。 如果接收到的数据为地址字节且与SADR中的地址匹配,VK 进入接收状态,将该地址字节后面的数据字节写入接收 FIFO。 当该子串口在数据接收状态下接收到一个地址字节,且该字 节与SADR不匹配,接收将被自动禁能。
程序流程图:
选型建议:
1、MCU/CPU中低速通信,现有系统扩展串口,光电隔离传输,建议用UART主接口产品 系列,硬件实现简单。 2、中高速串行通信,带同步SPI接口的MCU、DSP扩展串口,建议选用spi接口系列产品, 占用io少,速度较高。 3、io资源充足的cpu/dsp扩展高速串口,建议选用8位并行总线主接口产品系列,速度快, 操作简单。 4、与GPRS、CDMA。PSTN Modem连接,建议选择带Modem接口器件,在监控状态的 同时也保证数据传输的可靠性。 5、RS-485总线或M-BUS总线应用设计,建议选择带RS485自动收发和网络地址识别的产 品,可以提高通信的可靠性和降低cpu资源的使用。 6、高速通信尽量选用带流量控制的产品,保证通信的可靠性。
原理框图: 原理框图:
主通道特点: 1、可以有uart,spi,8位并行总线 2、通过配置寄存器中的M1 和M0位进行变换 子串口特点: 1、相互独立,全双工,软件开启,可以配置不同波特率 2、高速的子串口通道,可达300bps-900bps 3、数据配置灵活,校验,数据长度,广播模式 4、FIFO:收发16级FIFO,4级触发点 5、流量控制:RTS\CTS流控,软件流控 6、RS485:自动收发,自动识别网络地址 7、红外通信:可独立设置工作于红外通信模式下
3、FIFO,每个串口有收发独立的16级FIFO(1、硬件缓存越小,数据溢出可能性
越大,特别是较长的帧数据。2、对MCU处理数据效率影响较大,串口芯片是通过主接口读写操作 来实现数据交换,主接口除了读出子串口数据还要判断芯片相关状态,每读一次数据就要做出一次 判断,对于同一长度的帧数据,硬件缓存越小,读取数据长度就越短,那么读取数据次数越多,判 断芯片相关状态就越多,这样就会花很多时间在判断状态上,如果扩展子串口数量越多,那么就会
SPI: 1、最高速度为5Mbit/s 2、仅支持spi从模式 3、16位,spi模式0标准 与主机连接图:SCS:SPI片选(从属选择)
I2C:两线IIC总线时一根串行数据线和一根串行时钟线。当总线处于空 闲时,两根线都通过上拉电阻拉到正电源电压。每一个设备都有一个独 立的地址。 1、兼容IIC总线接口 2、最高速度400kbit/s 3、仅支持IIC从模式 与主机连接图:
四种接口特性: UART:主接口uart时,只需要rx,tx连接主机,采用标准的uart协议通信,上电后主机以
VK的复位值所确定的波特率和数据格式进行初始化设置即可方便实现串口扩展。
1、三线uart串口(RX、TX、GND),无需其他地址信号,控制信号线。 2、可编程波特率设置,最高速度可以达到1M bit/s 3、选择奇校验,偶校验,无校验 4、不需地址线控制串口扩展,通过芯片内置协议处理器实现多串口扩展 5,、uart主接口可以通过引脚设置为红外模式(主接口IR接高电平时,工 作红外模式) 6、通过引脚选择是否采用转义字符模式(主串口TR接高电平时处于转 义模式下。)此模式使用于远距离和干扰较大的场合。 与主机连接图: