加入收藏
|
设为首页
|
联系我们
搜索:
首页
产品中心
技术支持
解决方案
样片与购买
关于我们
技术支持
驱动参考
评估板
原理图
选型推荐
常见问题
常见问题
您所在的位置:
首页
> 常见问题
● 民用领域USB都这么普及了,为什么还要用UART(含TTL\RS232\485)串口?
USB具有即插即用、支持热插拔、高速传输数据、支持供电等优点,成为民用领域包括PC机、打印机、扫描仪、笔记本、手机、数码相机、摄像头、移动硬盘等消费数码设备的通用外设数据传输接口。
但在对工况有要求严格的领域,USB也存在一些固有局限:
1. USB抗干扰性较差差、有效通信距离短(标准一般为5米),与此对应,RS232通信距离>10米,RS485通信距离>1000米。其原因在于对USB传输时序要求非常严格,虽然USB数据线输出的D+/D-两线跟RS485一样都是差分信号输出,但其高速传输特性限制了其传输距离和传输环境,通信距离长了就容易导致两线边沿时序出现偏差,从而导致传输数据失败。
2.USB适合做数据传输而不是数据通信, USB不是对等协议,USB协议要求所有请求必须由主机发起,设备只能被动接受控制,设备与设备之间无法直接通信(比如USB键盘和USB鼠标是无法互相通信的),而UART(RS232/485/422)RS232则是一个对等协议,工业等应用中更多的时候需要对等通信。
3. USB协议栈较大,需要占用更多的资源。任何一个简单MCU都可以轻松处理UART通信,但如果要实现USB协议,无疑会占用更多资源,而且实际调试和应用都会复杂许多,举个例子,如果在上位机和下位机之间进行简单通信,相信绝大部分工程师会选择UART而不是USB。
4. 现有的USB标准接口主要针对民用和商用领域设计,充分考虑了易拔插特性,导致其抗冲击性能差,由于没有很好的卡位和固定,很容易松动和脱落,成为在工业控制领域、医疗器械领域、通信设备领域的一个致命缺点。
-----------------------------------------------------------------------------
综上,USB有总线速度快、支持热拔插、支持供电等显著优势,适用于民用商用领域的数据传输。同时,USB总线也存在协议开销大、抗干扰能力弱、传输距离短、时序要求严格、长时间工作稳定性较差、主从协议无法实现设备间对等通信等局限,无法满足嵌入式和工业系统的对工况要求较高的领域。
在中断任务多,对实时性、可靠性、稳定性要求严格的工况下,UART(含TTL/RS232/485/422)以其简单、稳定、可靠、实时的特性仍然占据主流地位。
● 为何选用WK系列产品及常用串口扩展方案对比
先说结论,如果有以下应用及需求,建议优先选择WK系列UARTs产品:
1.对稳定性和抗干扰有严格要求的行业应用,如工控、电力、车载、安防等行业应用。
2.主控运行的是Linux,Android,WinCE等操作系统,连接了多个外设且需要同时稳定工作。
3.设备需要同时与多个超过115kps的高速串口设备通信。
4.移动和手持设备扩展串行外设,对功耗和封装体积有要求。
5.主接口为SPI,UART,I2C,或者8位并口,扩展子串口的波特率<2Mbps。
----------------------------------------------------------
再说原因,分析一下目前常用的串口扩展方案,可以很容易得出样的结论:
UART串口,稳定、简单、可靠、调试方便,可以通过连接电平转换芯片实现RS232\RS485\RS422等通信接口, 是目前嵌入式系统用的最多的接口之一。大部分嵌入式系统在进行外设扩展,都选用串口作为首选。随着物联网的发展,现在的嵌入式系统需要连接越来越多的外设,主控自带的UART串口常常因为各种原因不够,因此需要扩展串口。常用的UART扩展方法分析说明如下:
1. 软件模拟串口,用CPU或者MCU的定时器和通用 I/O进行软件模拟,好处是不增加硬件成本,坏处是占用CPU资源,占用系统IO,只能模拟低速串口,稳定性不高,适合对对价格敏感对稳定性要求不高的系统,如玩具,消费电子等领域。
2. 用单片机扩展串口,单独使用一个多串口单片机作为串口扩展芯片,用IO模拟或者MCU自带的UART作为扩展UART接口,将MCU的IIC,SPI作为主接口,自行编程实现串口扩展,现在有大量1美金左右的多串口单片机可以选择,好处是价格相对便宜,坏处还是不稳定。这种情况下,需要自己定义和实现专业稳定的串口扩展的协议,对开发人员是个挑战。另一方面,MCU自带的UART一般FIFO深度有限,需要开软件BUFFER做缓存,MCU要同时收发多路数据,又要进行串口扩展协议处理,还要与上位机通信,对编程人员和MCU的硬件资源都是巨大挑战。我们的客户中有不少是以前采用这种方式的,后来发现随着扩展外设的增多和接口波特率的提高,用单片机扩展的方法很难实现稳定工作,转而使用专业的硬件串口扩展芯片。总之,单片机扩展串口的方式,适用于串口通信速度<19.2kbps、同时工作串口不超过3个,开发工程师串口经验丰富、设备成本较敏感的系统。
3. 用CPLD/FPGA实现串口扩展,通过对CPLD/FPGA等编程,实现串口扩展功能,好处是可以实现灵活的外设及IO控制,坏处是开发难度较大,功耗和成本都不低。这种方式适用于需要大量高速串口和IO扩展控制,对成本不敏感的领域,如通信控制背板等。
4. 用USB扩展串口,通过USB桥接UART芯片实现串口扩展。好处是方便便宜,现在USB转串口的芯片价廉物美随处可得。坏处依旧是稳定性和兼容性都不佳。USB协议本身就比UART复杂许多,涉及到安装调试驱动的问题比较复杂,标准系统如Windows厂家都会给出调试稳定的驱动,而各种版本架构都不同的嵌入式系统,就只能用户自己摸索。而且据不少我们用户反应,USB扩展的串口经常会莫名其妙消失,究其原因,是系统在重启或者拔插USB设备后,系统重新枚举设备,为其分配了另外的虚拟COM口,导致系统所有COM口错乱,这种问题随机出现,不好定位调试。USB扩展串口这种方式方便灵活,适合WINDOWS调试和树莓派演示教学系统,应用于实际产品中要慎重。
5. 别人家的UARTs扩展器件,从最早的INTEL的8250、TI的16C554,到NXP的16SC754,MAXIM的MAX14830,EXAR的XR17V258等,目前全球有超过1200种UARTs产品供用户选择,主接口有SPI、I2C、并行总线、PCI总线等,可以扩展1-8路子串口通道。好处是稳定成熟,尤其16C554及其升级系列,USB普及前曾经是PC主板的标配。缺点也明显,体积大,引脚多,寄存器设置复杂,FIFO不算太大,WINDOWS以外的驱动都需要自己设计,还有两个要考虑的问题:贵&交期长,扩展4个通道的产品普遍在5美金以上,基本没有现货需要预定。各家特点和使用建议:PCI扩展串口板的,选EXAR,4-8口都有,他家这个最专业;跑WINDOWS的工控主板,建议TI或者NXP的16C554系列,原生操作系统支持,稳定可靠。需要扩展>5Mbps超高速串口的,可以选择MAX18430或者NXP的SC16C754,速度够快,但确实不便宜。
6. 我们的WK系列工业级UARTs产品, 提供全系列256级独立FIFO业内最大,WK2204业内最小的4通道UARTs器件(4*4mm,QFN24封装),SPI/I2C/UART/8位并口扩展2/4个独立串口,宽电压低功耗设计,提供Linux,Android,WinCE成熟稳定驱动代码,专业工程师团队提供电话、QQ、远程、现场支持,国内原厂现货销售,800+量产客户稳定使用,入选瑞芯微、全志、炬力、君正、INTEL、CSR的工业平板/车载导航产品官方设计参考方案,高通、博通、MTK、展讯平台设计公司成熟量产方案。好处:稳定、抗干扰、成熟驱动软件,交期短供货稳定,价格合理。坏处和局限:不能提供消费类电子的产品价格,不能提供PCI总线产品,不能提供单片8串口产品,不支持扩展串口速率超过2Mbps的超高速产品。
综上,WK系列工业级UARTs产品的适用范围,请参见本文开头的结论!
● WK系列UARTs常见技术问题汇总
常见技术问题总结
1、问:贵公司的串口扩展芯片只有串口扩展串口吗?
答:WK系列芯片支持主接口为UART、IIC、SPI及8位并行接口总线扩展子串口,扩展子串口通道数有2个子串口和4个子串口供选择。
2、问:串口扩展芯片工作电压支持多少?
答:WK21系列芯片工作电压支持2.5~5.5V,WK2204支持2.0-3.6V工作电压。WK系列芯片采用低功耗设计,可以配置自动休眠,自动唤醒模式(uS级唤醒),适用于手持设备等低功耗产品。
3、问:WK芯片怎么使用?是否具备主动传输数据的功能?
答:WK系列芯片属于从设备,都是不具有MCU功能的,不能够主动传输数据,收发数据都需要主控MCU去控制。
4、问:时钟电路中关于晶振、电容和电阻的选用?使用无源晶振或是有源晶振?
答:WK系列芯片的时钟输入为外部时钟输入。无源晶振和有源晶振都可以,具体选择晶振大小,请参考数据手册波特率配置部分。常见选择11.0592MHz。对于晶振旁边的匹配电容一般选择在15PF~33PF之间一般选择22PF。特别注意为保证芯片时钟稳定工作,在时钟电路中需要和晶振并联1M的启动电阻。
5、问:WK芯片复位时间?
答:WK系列芯片是低电平复位,同时支持上电复位。上电复位所需要时间大约在10ms。复位拉高后几个毫秒就可以对其操作。电源上升速率有限,采用RC复位电路,保证可靠复位,时间常数必须远大于电源上升时间。
6、问:WK芯片软件复位和硬件RST复位有何区别?
答:软件复位是通过配置相应的操作寄存器来实现的,只能对芯片扩展出来的子串口相关寄存器进行复位。硬件RST复位拉低RST引脚电平,对芯片整体复位。
7、问:如何正确设置波特率?
答:
a)主接口是串口时,MCU和WK芯片通信间波特率通过发送0x55实现自适应。自适应成功即可通信。
b)子串口波特率修改,可以配置相关波特率寄存器(baud0/1、pres)。寄存器配置值,参考数据手册波特率配置表或公式可以计算。
c)波特率匹配问题。由于WK系列芯片内部缓存有限(256byte),所以大量数据传输的时候,注意通信中波特率控制问题。数据发送过程:主接口为串口时,波特率最好不要大于子串口波特率的4倍,否则有可能造成数据出错。如果主串口波特率较高,建议每次发送之间增加一定延时。接收数据过程:波特率设置时主串口口波特率要大于子串口的波特率,以减少主接口数据拥堵,建议最好采取中断方式,以保证子串口数据能够及时读取,避免数据溢出。
8、问:FIFO使用需要注意哪些问题?
答:WK系列芯片,扩展每一路子通道FIFO都是收发独立的。
a)发送FIFO在数据发送的过程中,当子串口发送使能的情况下,写入发送FIFO的数据被立即发送出去。当子串口发送未使能的情况下,写入发送FIFO的数据,暂存在FIFO中,当超过256个字节的时候,数据将溢出。
b)接收FIFO在数据接收的过程中,子串口接收使能情况下,才可以接收数据,此时收到的数据会被接收到接收FIFO之中,主接口从接收FIFO中将数据读走,FIFO清空。
9、问:WK芯片输入输出电平?
答:WK系列芯片输入输出均是TTL电平,所以扩展出来的子串口需要232或是485电平,需要在串口后端加电平转换芯片。
10、问:WK芯片SPI通信引脚需要加上拉电阻吗?
答:WK系列芯片是有内部上拉的。(内部上拉是指引脚在芯片内部有一个上拉电阻)SPI模式通信上就不需要在挂上拉
11、问:WK芯片IRQ中断引脚如何连接?
答:WK芯片IRQ引脚是开漏输出,需要加上拉电阻。在没有中断情况下。默认为高电平,产生中断后变为低电平。Wk芯片为低电平中断,IRQ引脚接到MCU的外部中断引脚上。
12、问:WK芯片中断如何使用?
答:对于WK系列芯片操作,都是MCU通过总线去读写WK的寄存器,这些对于WK来说都是被动的操作。有时候也需要及时的通知MCU,那么中断输出信号就是实现这个功能。IRQ输出引脚通常接到MCU的外部中断引脚。
WK芯片中断分两级,一级是总中断开关,二级是子串口中断。每个子串口都有自己的独立中断系统。
中断的使用方式:
A.首先使能总中断开关
B.使能相应的子串口相应的中断
C.对于接收和发送FIFO触点中断需要设置中断触点,也就是中断产生的条件
中断处理方式:
当中断来了以后我们应该怎么判断全局中断:
A.首先判断是哪个子串口的中断,读取全局中断标志寄存器
B.判断具体的中断源,读取子串口中断标志寄存器
13、问:WK系列芯片485自动收发功能怎么使用?
答:WK芯片只有部分芯片支持485自动收发功能(WK2204、WK2168)。在使用485功能的时候,通常都是需要使用RTS引脚来控制485电平转换芯片的收发。具体操作如下:
a)RS485的RTSEN位和RTSINV位是控制RTS引脚的。
b)延时时间设置RTSDLY,该寄存器设置的值需要大于0,才能使485功能有效。
c)设置完这些寄存器后,当你发送数据时,RTS引脚会自动拉高,使485芯片处于发送状态,数据发送完成后,根据RTSDLY设置的延时长短,在拉低RTS,恢复到接收状态。
14、问:WK芯片调试过程分析?
答:调试技巧:
1).电路硬件检查:
A.首先检查电源,看芯片电源正和GND是否正常(建议和MCU共地共电源)。芯片焊接是否有虚焊,过焊,和短路的情况。
B.其次查看晶振是否起振,起振是否正常;然后检查复位引脚,复位后应该保持高电平。
C.检查模式配置引脚(主接口支持多种模式才有)M1M0选择模式是否正常
2).软件调试
A.上电后最好进行复位。保证芯片处于一个初始状态(在调试阶段复位很关键,很多调试不正常可能都是由于前期错误操作导致的,只要复位,可避免前期错误操作带来的影响)
B.通常我们调试软件都是先调试主接口通信。根据你选择的主接口模式进行时序调试。 具体时序参考数据手册。
C.在时序满足情况下,我们可以通过读 WK芯片某些值比较固定的寄存器,来判断主接口是否通信成功。比如: GENA;
D.调试成功好,然后再调试写。可以写一些相关寄存器的值( GENA),通过读来验证写寄存器是否成功
E.配置发送数据和接收数据相关寄存器。主要是使能子串口时钟和使能发送和接收,配置子串口相关波特率等。在调试过程中可以先将配置的寄存器读出来,看一下是否配置成功。
F.最后,以上步骤调试都通过,就可以实现数据正常收发了。
1
共1页 当前为第1页
×
客服中心
销售客服1:2237556988
销售客服2:2493964474
技术客服1:353126152
技术客服2:957591385
技术客服3:1627497319
热线电话:18030405210
产品中心
集成电路
电子产品
技术支持
驱动参考
评估板
原理图
选型推荐
常见问题
解决方案
Android驱动方案
车载信息平台方案
串口服务器方案
智能广告一体机方案
无人共享设备方案
智能充电桩方案
行业便携终端方案
样片与购买
样片申请
联系我们
在线购买
代理商列表
关于我们
公司简介
公司资质
公司动态
版权所有 wkmic成都为开微电子有限公司 | 使用条款 | 订阅 |
蜀ICP备14015351号-1
技术支持:三以网络