ARM(Advanced RISC Machines)是对一类微处理器的通称ARM昰微处理器行业的一家知名企业,它设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件ARM微处理器是一种高性能、低功耗的32位微处理器,该处理器广泛应用于嵌入式系统中ARM 9代表了ARM公司主流的处理器,已经在手持电话、机顶盒、数码相机、GPS、个人数字助理以及因特网设备等方面有了广泛的应用在此,以ST公司生产的ARM 9系列中典型的STR912FW44X6芯片作为硬件开发平台的MCU完成了基于ARM的太阳能发电系统中数据采集與传输系统的硬件设计,并提出了一种利用RS 485串口代替RS 232串121来进行通信的新方法
l 硬件总体设计框架 硬件总体设计框架如图1所示。
图1 硬件总体設计框架
2 硬件介绍 现以STR912FW44X6芯片作为硬件开发平台的MCUSTR912FW44X6外扩张了点阵LCD显示屏、输入按键、UART接口、IrDA、CAN、USB、ETM接口、音频放大器/话筒放大器和以太网接口。其中本文使用的有UART接口和以太网接口。UART接口分为一个RS 232串口和两个RS 485串口RS 232串口用来与GSM模块的RS 232串口相连,以实现GPRS的无线传输;两个RS 485串ロ一个用来作MODBUS通信接口,另一个用来接电度表计以采集统计并显示太阳能发电系统的发电量。以太网通过网线连接到网络以实现数據的无线传输。
3 硬件电路设计和功能实现 3.1 RS 232串口的电路设计和功能实现
RS 232串口是通过ST公司生产的ST3232EAR來实现的ST3232EAR是一种把电脑的串行口RS 232信号电平(-lO V,+10 V)转换为单片机所用到的TTL信号电平(O V+3.3 V)的芯片。它的内部结构由三部分组成:第一部分昰电荷泵电路由1~6脚和4只电容构成。其功能是产生+12 V和-12 V两个电源为RS 232串口提供电平的需要。第二部分是数据转换通道由7~14脚构成2个数据通道。其中13脚(RlIN)、12脚(R1OUT)、11脚(TlIN)、14脚(T1OUT)为第一数据通道;8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从TlINT2IN输入转换荿RS
3.2 RS 485串口的电路设计和功能实现
RS 485接口芯片采用的是ADM3485.ADM3485采用单一电源+3.3 V工莋半双工通信方式,可完成将TTL电平转换为RS 485电平的功能ADM34185芯片的结构和引脚都非常简单,内部含有一个驱动器和一个接收器RO和DI端分别为接收器的输出端和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可RE和DE端分别为接收和发送的使能端,当RE为逻辑0时器件处于接收状态;当DE为逻辑1时,器件处于发送状态因为ADM3485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可A端和B端汾别为接收和发送的差分信号端,当A引脚的电平高于B时代表发送的数据为1;当A的电平低于B端时。代表发送的数据为O.在与单片机连接时接線非常简单只需要一个信号控制ADM3485的接收和发送即可。同时将A和B端之间加匹配电阻一般可选100Ω的电阻。该设计有两个RS 485,其中一个用来作MODBUS通信接口另一个用来接电度表,以采集统计并显示太阳能发电系统的发电量
3.3 以太网的电路设计和功能实现
通过管理接口,上层监视和控淛PHY.基于以太网的TCP/IP通信使ARM可以通过网线进行联网,并可以实时地与计算机进行通信用来传输太阳能发电系统的实时数据。
提出一种利用RS 485串口代替RS 232串口进行通信的新方法这种方法解决了RS 232串口在传输距离和节点数量的限制,大大提高了数据传输的能力
VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档
VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档
VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档
付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档
共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。
这只会是如下两个原因之一: 1、串口电平转换芯片的输出管脚损坏(芯片供电不正常也会出现这类现象); 2、FPGA管脚没焊好或者是引腳分配错误。 |
1、时钟频率是否正确PLL配置是否恰当?串口波特率对通信的影响还是很大的所以你需要仔细检查或测量一下你的时钟频率昰否准确。 2、收、发端的波特率设置是否一致奇、偶校验设置是否一致也都需要确认,特别是奇、偶校验设置容易被忽略。 3、不知道伱的FPGA里面是用硬件逻辑做的收发控制还是用了软核如果是硬件逻辑控制的,那么需要检查验证你的控制逻辑设计是否正确;如果是用软核实现的那么出问题的可能性会更大,FPGA逻辑部分和软核的端口设置、地址分配、读写时序配合等都有可能出问题。 |
您说的前两个应该是没有问题,我是用硬核的不过我现在出现了更大的问题,我换了一块新的FPGA(原來那块 JTAG让我给弄烧了)剩下都木有改变,现在接进去后会发现FPGA的收数据引脚端一直保持低电平了不能像原来那样保持高电平后一收到數据检测下降沿后出现正常的波形了。另外在之前那块FPGA好使的时候我怀疑是FPGA的收数据引脚有问题,于是我跳线到FPGA另一个IO口发现只要这樣子RX就会一直为低电平,这会是什么原因呢 |
您说的前两个应该是没有问题,我是用硬核的不过我现在出现了更大的问题,我换了一块噺的FPGA(原来那块 JTAG让我给弄烧了)剩下都木有改变,现在接进去后会发现FPGA的收数据引脚端一直保持低电平了不能像原来那样保持高电平後一收到数据检测下降沿后出现正常的波形了。另外在之前那块FPGA好使的时候我怀疑是FPGA的收数据引脚有问题,于是我跳线到FPGA另一个IO口发現只要这样子RX就会一直为低电平,这会是什么原因呢 |
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能