在嵌入式开发的实际应用中,尽管PinMux技术能够优化资源配置,但在面对特定需求时,仍可能出现如UART、网口、CAN等接口资源不足的情况。为此,我们提供了多种外设扩展解决方案,当CPU自带的功能接口数量或引脚复用不足以支撑设计需求时,可以通过利用未使用的总线,或是借助某些总线特性(例如,单个I2C总线上可连接多个设备)来进行功能引脚的扩展。
在此,我们将介绍几种常用的功能信号扩展方法。同时,也欢迎具备相应能力的小伙伴自行设计相应的模块,并将其适配至ELF 1开发板上使用。
在使用串口与其他设备通讯时经常会有串口资源不够的情况,这时就需要对串口进行扩展。
使用芯片XR21V1414,将一路USB信号转换成四路TTL电平的串口。这种方案优点在于电路设计简单,单电源供电,资源使用较少,转换出的TTL电平串口信号还可以根据项目需求通过其他芯片转换为其他电平形式(如:RS485、RS422、RS232等),其电路如下图所示:
图中为XR21V1414芯片的参考设计原理,VDD电源为此芯片的3.3V供电。42和43脚连接USB总线。芯片的IIC接口35和36脚在上电时作为芯片配置引脚。
下图为配置真值表根据实际情况进行选择配置,上下拉电阻官方推荐使用4.7K-10K电阻。
该芯片输出的串口为9针串口,用户可以根据需求,连接不同的串口设备。9针串口的信号线包括:
RXD串口数据接收 |
TXD串口数据发送 |
DTR数据终端就绪 |
DSR数据发送就绪 |
RTS发送数据请求 |
CTS清除发送数据 |
CDD载波检测 |
RI振铃提示 |
GND地 |
对有多网口需求的用户,我们也为用户选择了一款性能稳定,设计方便的方案。使用芯片AX88772B,将一路USB信号转换成一路百兆网口,其原理如下图所示:
VCC为3.3V供电,图中网络变压器已经集成到了RJ45网口座中,注意此芯片为电流驱动型,注意网络变压器中心抽头的连接方式,网络变压器的引脚4、5连接电源。
图中AX88772B除外围电路外还外挂了一颗EEPROM,这颗EEPROM的作用是储存MAC信息,如果不需要记录MAC信息也可以不挂载。还要注意的是芯片的5号引脚必须使用12.1K精度1%的电阻。
对于ELF 1开发板中CAN总线数量要求较多的用户,ElfBoard提供了一款通过SPI总线转换CAN总线的模块,该模块基于芯片MCP2515设计。在使用该模块时需要注意芯片引脚电平,如果CPU的信号电平与该芯片的电平不一致时,需要添加电平转换电路,防止核心板被损坏。其原理如下图所示:
MCP2515的VDD引脚支持2.7-5.5V供电,MCP2551的VCC引脚支持4.5-5.5V电平,目前该方案VDD使用的是5V供电。
一些用户对于显示接口有不同的要求,在一些特殊的环境中,会有用户要求使用VGA信号进行视频输出。但ELF 1开发板是不支持VGA显示的,因此,ElfBoard为用户提供了一种可以使用VGA功能的解决方案,利用芯片ADV7125KSTZ140将LCD信号转换为VGA信号输出,用户可以直接连接VGA显示设备,原理如下图所示:
图中U2和U3两颗芯片为FCT16245C,这两颗芯片作为缓冲芯片使用,有些核心板例如: ELF 1开发板的启动项选择引脚和LCD的信号引脚共用,在开机时对此引脚的电平状态进行锁存,启动后恢复LCD功能,所以在开发板启动前要保证这一组引脚保持高阻态,防止因为外接设备引脚的电气属性影响到核心板启动。所以在这里使用两颗FCT16254C进行缓冲,保证系统可以正常启动。
图中的LCD转VGA电路中R7、R9、R11三颗信号对地75欧姆电阻必须连接,一般DA芯片都是电流型的,标准负载要求是37.5欧姆;源端和终端的电阻并联刚好是37.5欧姆阻抗;所以这三颗电阻不可省略。
由于LVDS信号在抗干扰方面性能优异,所以越来越多人开始青睐LVDS屏幕,为了满足这一部分用户,我们提供了一个由LCD信号转换为LVDS信号的方案,该方案使用芯片DS90C385AMT,供用户使用,可以直接连接到用户LVDS显示设备,原理如下图所示:
该方案采用单路8位LVDS输出接口:这种接口电路中,采用单路方式传输,每个基色信号采用8位数据,共24位RGB数据,因此,也称24位或24bit LVDS接口。
而LVDS接口电路中,将像素的并行数据转换为串行数据的格式主要有两种标准如下图所示:
VESA标准的LVDS信号
JEIDA标准的LVDS信号
信号标准需要根据用户所选屏幕进行确定,ElfBoard提供的LVDS显示模块默认为JEIDA模式。
以上介绍就是常用的几种功能信号扩展方法,希望这些内容能为屏幕前的小伙伴提供有用的参考,使大家在学习嵌入式开发的过程中获得实实在在的帮助。