当前位置:首页 > 电源 > 数字电源
[导读]摘要:由于传统的NI-DIO驱动板卡能够驱动的I/O口数量比较有限,一般只应用在测试通道数比较少的实验场合。而在一般的大型环境试验中,要求能对多个产品同时测量。如果使用传统的DIO板卡测试,就会出现测量通道数量不

摘要:由于传统的NI-DIO驱动板卡能够驱动的I/O口数量比较有限,一般只应用在测试通道数比较少的实验场合。而在一般的大型环境试验中,要求能对多个产品同时测量。如果使用传统的DIO板卡测试,就会出现测量通道数量不够的情况。针对此类问题,提出了运用单片机与I/O扩展芯片PCA9554/A采用I2C通信进行I/O扩展,上位机采用LabVIEW编程,界面友好、操作方便,在环境实验中起到了良好效果。
关键词:I/O口;MCU;PCA9554/A;LabVIEW

0 引言
    随着电子技术的飞速发展,各类电子产品像雨后春笋般大量的进军电子市场,其中也包括正在蓬勃发展的汽车电子行业。一般汽车电子行业对这些电子产品的要求比较高,会有很多的技术指标去规范它们,其中很重要的一环便是环境实验。出于对工作效率的考虑,一个环境测试台架往往要求能对多个产品进行同时测试。而这些产品的引脚数量一般也会比较多,这样一来,测试台架上所需的测试通道数量就会很多,往往多达几百个。
    一般多数用于汽车电子产品的环境测试台架里面会集成有NI公司的DIO驱动板卡,由于它们的驱动端口比较多,便专用来负责产品的环境实验测试。以NI-6509为例,这是一个12×8的板卡,总共有12个通道,每通道8位I/O控制组成,总计96路I/O控制;NI-2532的矩阵板卡,其能支持的通道数是32×16,共512路。这些I/O端口,针对一般的应用是够的,但如果用于引脚数量比较多的产品测试,便会出现I/O口数
量不够用的局面。假如环境实验要同时测试12个产品,每个产品有40个引脚,那么对于产品引脚继电器就必须要有480个,再加上一些外围辅助仪器介入的切换,那么在这种情况下,这类DIO板卡的应用就显得很勉强。
    针对此类问题,本文提出了一种有效的解决方法,便是应用单片机的I/O口配合市面上一些常见的I/O扩展芯片,进行端口的扩展。单片机有4个端口,每个端口8位,总计32个位控制;扩展芯片,比如I2C芯片,只需要2根线(SDA&SCL)即可,因此可以连16组I2C通信,且每组可同时支持8个芯片(每组最大可容纳8个地址),每个芯片又可控制8个端口。因此,单片机理论上,至少可支持16×8×8个端口。并且,如果芯片头地址可以不一样的话,例如PCA9554和PCA9554A,那么端口数量又可以增加一倍,达到2 048个,这是一般的板卡所远远不能及的。

1 系统硬件设计
    本文所涉及到的硬件比较简单,上位机与MCU之间通过RS 232串口连接,MCU靠外部电源提供的5 V直流电进行工作。再将MCU的2个端口模拟成SCL,SDA两根线与PCA9554/A进行通信连接。这样就形成了上位机发送指令,单片机接受指令并进行相应解析后再通过SDA、SCL两根线向PCA9554/A发送命令数据,控制它的输入与输出。
1.1 PCA9554/A芯片介绍
    PCA9554和PCA9554A是16脚的CMOS器件,它们提供了I2C的应用中的8位通用并行输入/输出口(GPIO),PCA9554/54A包含一个8位配置寄存器(输入或输出选择)、8位输入寄存器、8位输出寄存器和一个极性反转(高电平或低电平操作有效)寄存器。系统主控制器通过写I/O口相应的配置位来激活端口的输入或输出。PCA9554/A有3个硬件管脚(A0,A1,A2)来实现不同的I2C地址,最多允许8个器件共用一个I2C总线上。PCA9554与PCA554A的惟一区别在于I2C地址不同,这样最多允许16个器件(9554和9554A各8个)连接接到同一个I2C总线上。
1.2 基于PCA9554/A的硬件设计
    按I2C规约,PCA9554的器件地址为0x40,PCA9554A的器件地址为0x70,当然,由于硬件地址引脚A0~A2可寻址8个器件,所以器件地址并不惟一,例如:A0接GND,A1接VCC,则PCA9554的器件地址为0x4C。使用STC89C52单片机为主控芯片,单片机的P1.3管脚与PCA9554的SDA管脚相连,P1.2管脚与PCA9554的SCL管脚相连。4个LED灯可以受四个按键控制,也可以受上位机进行控制。


2 系统软件设计
    本文系统软件设计主要分为两部分,一个是上位机的LabVIEW程序设计;另一个则是单片机底层C语言的程序设计。
2.1 LabVIEW的程序设计
    上位机的程序设计主要是与MCU串口通信,通过向MCU发送控制命令来达到对PCA9554/A的I/O口进行控制的目的。
    LabVIEW是一种图形化编程语言,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
    本文主要是用LabVIEW语言编写与MCU的串口通信程序,界面友好、操作方便。LabVIEW控制单片机是通过Instrument I/O的Serial控件调用来实现的。主要用到其中的VISA配置串口节点,包括串口配置、读、写、关闭等节点。通过对这些节点的调用就可以方便的对串口进行操作。
    这里,Command to RS 232栏中的指令必须与单片机事先烧录好的代码相符合。这样,单片机才能将接收到的指令进行正确匹配,并执行相应操作。
    程序左端调用Configuration模块,进行串口的基本配置,比如BaudRate、数据位等,使这些参数与单片机里面的串口预定义设置相一致;右侧是Close模块,用于程序退出时,释放对串口的控制;中间是程序主体,包含对串口的读、写操作,实现对串口的双向通信。为了程序简洁、形象易懂,此次程序中用到了对LabVIEW子函数的调用,如RS 232-ini,RS 232W-R等模块,这些子函数就是用VISA串口节点来编写的,只是做了封装而已。
2.2 MCU的串口通信
    上位机是通过串口将指令字符传递给单片机的。单片机对串口的读操作是通过中断的方式实现的,以字符为单位,每接收到一个8位的字符,MCU产生一个读中断RI=1,此时,单片机将接收到的字符储存起来,然后软件将RI复位置0,继续接收下一个字符。本系统中,所有计算机发送给单片机的指令均以‘?’结尾。MCU接收到‘?’后,产生一个终止位,然后与事先定义好的指令进行匹配,如果指令事先有定义,那么就会执行相应的操作。
           
2.3 MCU的I2C时序模拟
    上位机向单片机发送指令数据,如果这些指令已在单片机中事先定义好,那么单片机将会通过模拟的SDA与SCL两个引脚,根据PCA9554/A的datasheet时序图,将控制命令数据传递给PCA9554/A,从而实现对PCA9554/A的I/O口进行控制。
2.3.1 PCA9554/A的写操作
    根据I2C总线传输协议以及PCA9554/A的总线读写特性,可以看出:对PCA9554/A端口的写操作主要是通过对它的输出端口寄存器进行写操作的。具体过程为:在SCL为高电平期间,SDA由高电平向低电平转换作为起始信号,SDA由低电平向高电平转化则为停止信号。在起始条件后,必须是从机地址,对于PCA9554来说从地址的高4位是0100,而PCA9554A则是0111,A2,A1,A0的高低电平状态可以有8种组合,最后一位是读写选择位。从地址发送完后便是等待从机的应答信号ACK,从机正确应答后便开始由主机发送命令字节,接着又是等待从机应答,应答后便开始发送数据了。以下为PCA9554的写操作部分代码。

2.3.2 PCA9554/A的读操作
    对PCA9554/A的读操作稍微麻烦一点,需要在收到第二次从机应答信号后再一次发送总线起始信号及从机地址即可。    

    由于篇幅原因,以上均只给出了部分重要程序。需要提出的是I2C总线上的起始、停止、以及读写数据的时序模拟均要参考PCA9554/A的datasheet中的时间参数要求,严格对应。

3 结语
    本文运用单片机与I/O扩展芯片PCA9554/A采用I2C通信进行I/O扩展,提出了具体的软硬件设计,完成了上位机对PCA9554/A端口的直接控制,并进行了I/O的有效扩展。并成功的应用在对多个汽车电子产品同时测量的环境试验中,取得了很好的效果。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭