历史上的今天
返回首页

历史上的今天

今天是:2025年02月27日(星期四)

正在发生

2018年02月27日 | 基于ARM9S3C2440处理器的测控系统通信接口设计

2018-02-27 来源:eefocus

  控制终端是测控装置中不可缺少的主要组成部分,目前应用的许多测控系统都具有规模大、控制点分散、大多控制点计算密度较低、受控体及接口种类繁多等特点。文章设计了ARM9S3C2440处理器下的RS485、RS232、CAN、IO输入/输出、IIC等通信控制接口,本文重点介绍其设计方法和过程。

  控制终端是测控装置中不可缺少的主要组成部分,是测控系统存在的基础,目前应用的许多测控系统都具有规模大、控制点分散、大多控制点计算密度较低、受控体及接口种类繁多等特点。


  近年来嵌入式系统以体积小、功耗低、控制功能较强、能够嵌入操作系统、易于扩展外围接口(包括各种现场总线和百兆网等)等优点,很适合计算密度较低的分布式控制终端的应用。本设计采用ARM9 3C2440来开发测控终端,完成了测控装置中的RS485、RS232、CAN、IO输入/输出、IIC通信控制接口设计。下面重点介绍其设计方法和过程。

  1 系统设计

  图1系统总体结构是采取核心板跟底板的结构。核心板的资源包括S3C2440A的基于ARM920T核的处理器,其内部集成了许多外设,可以很容易地对处理器进行扩展,形成各种不同的控制/通信接口。存储系统方面核心板上扩展了64M的SDRAM,256M的NAND FLASH,以及2M的NOR FLASH,能够满足一般的工业控制需求。另外核心板上还集成着DM9000以太网控制芯片。在底板上利用S3C2440处理器上的功能模块,再加上外围电路,形成各种接口的扩展,其中包括有半双工的RS485、RS232、CAN通信模块、IO数字量口输入、IO口数字量输出。

a.JPG

   

  2 模块硬件配置

  2.1 RS-485总线接口的设计

    S3C2440片内集成的三路UART接口,UART接口通过电平转换芯片可以很方便地转换为485接口。UARTO作为嵌入式LINUX的控制台(conso le)接口,UART1用作RS485扩展,UART2作为RS232扩展。我们用到的是UART1。由于ARM处理器的引脚电平和EIA规定的电气标准不一样,所以必须要外接电平转换芯片,利用片内UART外接不同的转换芯片可以轻松地实现RS485或者RS232串行协议标准。RS485采用差分信号负逻辑,为了达到RS485总线的电气特性标准,设计中用到的是Analog Devices公司的半双工RS-485隔离收发器。
    ADM2483是带隔离的增强型RS485收发器,它包括一个三通道隔离器,一个带三态输出的差分驱动器和一个带三态输入的差分接收器,允许多达256个收发器接入总线,最高传输速率为500kb/s,逻辑端兼容3V/5V工作电源。总线端5V供电。

b.JPG

    
    图2为系统中利用S3C2440中的ART1实现半双工的RS-485总线的原理图,其中的引脚RE’与DE分别为接收使能和发送使能端,现在将其并联起来接到S3C2440的nCTS0引脚,由该引脚的电平控制芯片数据的方向。要发送数据时要叫其置1,接收数据时要将其清0。

2.2 CAN总线接口的设计MICroChip
    公司推出的MCP2515是一款独立控制器局域网络协议控制器,完全支持CAN V2.0B技术规范。该器件能发送和接收标准和扩展数据帧以及远程帧。MCP2515自带的两个验收屏蔽寄存器和六个验收滤波寄存器可以过滤掉不想要的报文,因此减少了主单片机的开销。MCP2515与MCU的连接是通过业界标准串行外设接口(SPI)来实现的。在S3C2440处理器上片内集成了两个SPI控制器,可以通过SPI总线与MCP2515的控制线连接,进而对MCP2515进行控制和配置等各项操作。此外要组成CAN网络,仍需要一个与具体物理线路连接的CAN收发器,本设计中采用了Microc hip公司的MCP2551。MCP2551是一个可容错的高速CAN器件,可作为CAN协议控制器与物理线路之间的接口,为CAN控制器起差分收发能力,能够把CAN控制器生成的数字信号转化成为适合总线上传输的信号。

c.JPG

    
2.3 RS232接口的设计
    RS232适于本地的设备之间的通信。利用S3C2440片内的UART可以轻松地实现串行数据的传输,MAX232采用单电压5V供电,可以轻松地实现电平转换,特别是在没有12V电源的情况下。该芯片采用DIP封装,集成了2个电压转换器,连线简单而方便使用。

d.JPG

    
2.4 数字量输入/输出接口的设计
    数字量的输入输出可以直接控制ARM的引脚为GPIO功能而实现,输入和输出具有相同的原理。一般控制系统需要工作在恶劣的环境中,电压值会产生突变,而且一般都高于ARM处理器可接受的范围,所以必须采取一定隔离措施,需要外接隔离芯片。隔离芯片在电路中起到三方面的作用:1)隔离了破坏电压,防止处理器受到破坏性损坏;2)完成逻辑电平的转换,将工业控制中的信号逻辑电平转换为嵌入式处理器所允许的逻辑电平;3)隔离噪声,抑制共模信号。在本设计中采用的是ADI公司的ADuM1200数字隔离器。这款数字隔离器采用的是iCoupler磁隔离技术,无论在性能、工号体积等各方面都有传统的光电隔离器无法比拟的优势,具有比光电耦合器更高的数据传输速率,时序精度和瞬态共模抑制能力。在一个芯片上集成了两个独立的隔离通道,两端工作电压为2.7V~5.5V,每个隔离通道具有很低的脉宽失真,而且还具有直流校正功能。综合上述各优势,是本设计中采取该隔离芯片的原因。

e.JPG

    3 结束语
    本设计成功应用在中微子实验室的环境测量系统中,实现了工业现场的嵌入操作系统、网络互联功能、微型化、高可靠性设计,运行稳定可靠、效果良好。但存在远距离通信时速度不高的缺陷,具体解决方法有待进一步研究。


推荐阅读

史海拾趣

科山芯创(COSINE)公司的发展小趣事

面对未来,科山芯创有着清晰的规划和展望。他们将继续加大研发投入,不断推出更多高性能、高品质的芯片产品;同时,他们还将积极拓展国际市场,提升品牌影响力;此外,科山芯创还将加强与产业链上下游企业的合作,共同推动电子行业的创新与发展。

以上五个故事概述了科山芯创在电子行业中的发展历程和成就。作为一家专注于高性能、高品质射频及模拟集成电路芯片研发与设计的创新型企业,科山芯创以其强大的技术实力和优质的服务赢得了市场的认可和尊重。

Arco Electronics公司的发展小趣事

Arco Electronics公司在早期就专注于研发新型半导体技术。在一次偶然的实验中,公司的研发团队发现了一种新型材料,这种材料在导电性能和稳定性上远超当时市场上的同类产品。公司迅速将这一发现转化为实际产品,并推向市场。这一技术突破使得Arco的产品在性能上有了显著优势,迅速获得了市场的认可,公司也因此迅速崛起。

General Electronic Devices公司的发展小趣事
提供稳定的直流电压。
ConnectBlue公司的发展小趣事

随着无线通信技术的不断演进,ConnectBlue公司意识到,要想在市场中保持领先地位,必须不断进行产品创新和升级。因此,公司加大了研发投入,引进了一批高端人才,积极研发新型无线模块和解决方案。经过多年的努力,公司成功推出了一系列具有创新性的产品,如蓝牙低功耗模块、Wi-Fi模块等,这些产品不仅满足了市场需求,还为公司带来了可观的收益。

B+B SmartWorx公司的发展小趣事

B+B SmartWorx在成立初期便注重全球市场布局,特别是在美国和欧洲市场。通过多年的深耕细作,公司在这些地区建立了广泛的销售渠道和优秀的团队。其产品在美洲市场占据了58%的份额,欧洲市场占28%,其余地区占14%。这种全球布局不仅提升了公司的品牌知名度,也为其后续发展奠定了坚实的基础。

Accetek公司的发展小趣事

Accetek公司创立之初,面临着激烈的市场竞争和技术挑战。然而,创始人凭借对电子行业的深刻理解和前瞻性的眼光,选择了数控雕刻机和激光雕刻机作为公司的主营业务。通过不断的技术研发和市场调研,Accetek成功推出了一系列高质量、高性能的产品,逐渐在市场中站稳脚跟。

问答坊 | AI 解惑

一种嵌入式FLASH文件系统的设计和实现

一种嵌入式FLASH文件系统的设计和实现…

查看全部问答>

D:\WINCE600\PUBLIC\DIRECTX\SDK\SAMPLES\DSHOW\FILTERS\BALL 范例如何编译,如何使用?

D:\\WINCE600\\PUBLIC\\DIRECTX\\SDK\\SAMPLES\\DSHOW\\FILTERS\\BALL目录下的范例如何编译,如何使用,编译出来的文件放在什么地方,什么形式(exe, lib) ?…

查看全部问答>

wince 桌面字体修改

大家好! 请问: wince stand Shell桌面界面里中间较大的黑体字\" windows CE \"的字体大小该如何修改?? 我的是240*320TFT,现在只能显示windows,头和尾都没了,郁闷!! 谢谢!!…

查看全部问答>

求红外遥控资料

我的目的: 想知道常用红外遥控器(电视、空调、手机、特别是那种万能遥控器)的,原理(最好有所用芯片型号、电路图资料); 及编码方法(编码应该是通用的吧,我的遥控器控制另一台空调只要设置下型号码就行); 用单片机加红外接收器识别这些 ...…

查看全部问答>

关于CE6.0内核启动问题

我最近在研究内核的启动过程,正在看代码,请问一下,镜像是在什么时候被拷贝到内存中的啊?怎么没有发现类似的代码? 我看到MAINSTONEIII 的bootloader代码里OALStartup.s中有copy bootloader image to RAM的代码,我觉得内核也应该会有类似的代 ...…

查看全部问答>

关于IoCreateDevice的问题

我用IoCreateDevice来创建一个FILE_DEVICE_CD_ROM类型的设备,在2K下可以在我的电脑中 找到,但是当我在XP上的时候,却发现没有了反应.查看MSDN上面有这样一句话: Device objects for disks, tapes, CD-ROMs, and RAM disks are given a Volume Para ...…

查看全部问答>

移植uClibc库

现在2.4.27的内核和RAMDISK可以正常运行在AT91RM9200中,我交叉编译了一个简单测试程序 放到RAMDISK中,但是执行时却提示: Not Found ! eg: ash> ./bin/Test ash> ./bin/Test : Not Found 路径是没问题的,属性也具有可执行.原因可能是我动态 ...…

查看全部问答>

世界500强高薪急聘嵌入式软件项目经理

符合以下大多数条件即可(薪水十分不错,美资企业,工作地点:深圳) 联系方式:msn:chenhuanwanted@hotmail.com Essential Duties & Responsibilities: * Administration and management of the SW development team, which includes hiring, ...…

查看全部问答>