2024年6月2日发(作者:徐吉帆)
基于TMS320F28335的无人机机载智能接口卡设计
口肖垄口闫杰
口靳文平
西北工业大学航天学院西安710072
摘要:针对某型无人机机栽飞行控制计算机多种接口需求以及集成度要求高的特点.采用DSP处理器、双口RAM
和PCI04总线来完成CAN、RS422、'ITL232/RS232等多总线接口以及多路MD和PWM舵机控制电路的设计,具有结构
简单、实用性强的特点。简化了羌人机飞控计算机的设计,具有一定的推广价值。
关键词:无人机DSP
PCI04
CAN总线
中图分类号:THl33
文献标识码:A
文章编号:1000—4998(2013)10—0017—04
随着无人机技术的迅猛发展,低成本、高可靠性、
硬件设计主要分两部分:一是板上处理器如何实
多功能结构的飞行控制系统已成为当前研究的热点之现多种接口的连接:二是板上处理器与PCI04总线的
一…。为减小开发风险.降低设计成本.采用集成度高桥接。前者在采用含多种接口的处理器(F28335)的同
的片上系统DSP器件进行外部接口板设计是合适的。
时,利用相应外围转换器件进行接口扩展,后者一般采
目前,一方面中小型无人机飞控系统接口种类较用多端口RAM进行高速数据传输。
多,如卫星定位模块多采用RS232总线结构,无线电由于Ⅱ公司的DSP器件TM¥320F28335(以下简
链路和任务管理采用RS422总线结构C2]。惯性及大气称F28335)具有150MHz的工作频率和内部256K字
传感器一般采用刖D采集方式.舵机以PWM方式进Flash,片上含多种串行口(包括CAN、McBSP、SPI和
行控制[3],另外飞行控制计算机在闭环仿真实验及故
2SCI)t41以及16路A/D采集通道、6个脉冲计数通道和
障检测中,通常采用CAN总线。另一方面,为了便于机12路PWM脉宽调制控制通道.因此以该DSP为核
载自主软件开发,主控计算机一般采用PCI04或心,很容易实现多种接口的连接。采用3.3V供电的
ETX,这些嵌入式主板接口单一,难以满足
飞行控制系统多接口需求。因此需要集成度
高的接口板,通过PCI04总线,实现飞控系
统多接口扩展。
为了适应多种接口应用的变化.缩短开
发周期.7-Is:文主要研究了基于PCI04总线接
口卡的开发。利用片上系统的DSP器件
TMS320F28335
和双口
RAM
器件
IDT70V27以及相应的总线驱动芯片和接口
电路,以简洁的方式实现了多种接口到
PCI04总线的通信转换。
1硬件原理设计
收稿日期:2013年5月
‘—‘F。—1F一—+一一+”+*+一+-—+一一+-—+一-+一+-+-+一+-+*+一+一+-+-+一+-+-+-+-+-+-+-+-+一+一+一+一+-+-+-+一+-+-+一+一+*+-+*+-+-+・
山大学.2011.
机构的设计[J].机械制造,2011(12):75—77.
[3]方健.SCARA机器人运动控制器设计及应用研究[D].长[6]
亚德客-气动器材[Z].2010.
春:吉林大学.2007.
[7]李敏.多工位晶体装配机的设计与分析[D].深圳:哈尔滨工
[4]
王云峰.IGBT全自动装片机工艺方法研究[J].电子与封
业大学深圳研究院.2012.
装,2011,12(9):14—23.
[8]吴迪光.微积分学[M].杭州:浙江大学出版社,2011.
△
[5]胡亚娟,沈立红,严文文.汽车电动燃油泵上电容自动上料(编辑
丁
罡)
盛
机械制造51卷第5如期
2013/10回
万方数据
RS485/RS422驱动芯片MAX3490分别与F28335的3问仲裁控制,IDT70V27利用BUSY引脚信号提供了内
个SCI相连,实现RS485/R¥422通信:通过MAX3111
部硬件判优的方式.当两端口同时访问同一地址单元
与SPI相连,扩展了通用异步串行接口(UART),可实时,由片内电路根据两边的地址.片选读写信号到达的
现RS232和RS422复用的总线Es]:CAN总线接口通过
先后顺序,裁决哪个端口有使用权。BUSY信号可直接
SN65HVD232来实现。另外,为了保证F28335的安全,接至支持插入等待时序引脚,为了防止选择不当引起
需要进行电路隔离:一是在F28335各对外接口中进行地址冲突而导致死机.用比较器选择开关组成了开关
光电隔离;二是进行电源隔离。串口隔离采用高频光隔式可选端口的地址译码电路。通过切换开关状态来改
6N137实现,由于其上限频率达10MHz,满足上述各
变分配给IDT70V27的地址空间,避免冲突。
总线的通信速率要求。电源隔离采用1rI公司的隔离式
PCI04总线共有20条地址线。其中A0~A14接到
DC/DC模块DCR010503P,对接口驱动芯片进行供电。IDT70V27的AOL~A14L,A15~A19接,到74LS686的
为了满足多种接口通信带来的数据负荷。F28335
Po~P4,ALE接P7。74LS686的QO~Q4接了一个多位
与PCI04总线通过IDT公司的双口RAM
IDT70V27
开关,Q6和Q7都置1,74L5686的输出信号作为
完成数据交换;由于IDTTOV27具有+3.3V和+5V电压IDT70V27的左片选信号。因此,IDTTOV27的地址分配
的兼容性,可以直接与F28335和PCI04总线相连,且
在C0000H~DFFFFH之间.由多位开关的通断来决定
其容量大,读写时间短,满足大量数据的高速传输。基置1还是置0,实现地址范围的切换。
于以上设计,多种接口的PCI04扩展卡原理框图如图
DSP侧,地址线的低15线直接与双口RAM另一
1所示。侧的地址线相连,片选信号Zone6、状态线和读写线分
2
电路实现
别与双口RAM的片选线、忙信号线和读写线直接相
连,三者的接口电路如图2所示。
2.1
PCI04总线、DSP和双口RAM间的接口
2.2
隔离电路和各总线收发接口设计
PCI04总线对接口的寻址有两种方法:一种是把
为了保证核心器件F28335的安全.在其引出的各
双口RAM当成外部设备。使用端口L/o指令进行访个总线上加隔离是非常必要的。光隔6N137的最高工
问,这种方法一次只能传送一个字节或字,因而传送速作频率是10MHz。PCI04扩展卡上,各串行通信的接
度较慢;另一种是内存映像法,把双口RAM地址配置口当中,波特率最高是CAN总线。其最高波特率为1
于PC机主存储器的高端(一般为C0000H—DFFFFH),
MHz,所以采用光隔6N137可以满足设计的要求。板卡
以使PC机像访问主存储器一样访问双口RAM.同时除CAN总线外。其它总线都是由UART通用异步串行
使所有能够访问主存储器的指令也以同样的方式访问
接口与相应驱动芯片相连接构成。而CAN总线在结构
双口RAM。内存映像法可以以字符块为单位进行传上与UART相同,所以隔离电路的设计基本相同,对于
送,因而可实现快速访问双口RAM,因此这里采用存
PWM驱动电路和脉冲计数的隔离与串行线发送端作
储器内存映射的寻址方式。
相同隔离处理;另外需要进行电源隔离,这里主要采用
双口RAM存储器IDrl70V27具有32K的寻址空TI公司的隔离DC/DC模块DCR010503P进行电源隔
间,其特点是存储数据共享。但是,两个独立的CPU或
离,DCR010503P是贴片式封装,节省电路板空问,其
控制器同时访问双口RAM的同一存储单元.势必造隔离电路如图3所示。
成数据访问失真。为了防止冲突的发生.就必须存在访
2.3
串口扩展电路的设计
MAX3111芯片可以实现SPI至UART的转换.且
DO~D710LO.7
IOR0—7DO—D7
内部具有发送和接受的双向FIFO缓存.可以减少对
AO~A14AL0~14
ARO-14
A0~A14
SMEMWWRL
WRR
WR
SMEMR
OEL
OER
RD
IOCHRDY
RTISYTCSLCSRBUSYR
READY
IDT70V27
ZONE6
AEN
P7
P=Q
A15~A19PO ̄4
PCI04总线
74LS686
▲图2双口RAM的桥接电路
▲图3总线隔离电路
回2013/10
机械制造51卷第¥90期
盘
万方数据
CPU的中断和保证高速的数据通信。它与F28335通根据多总线通信卡的多种通信协议及波特率的不
过SPI总线连接:DSP的发送时钟信号(sPICLK)作为
同,应该有多种相应的驱动程序和DSP处理程序来调
MAX311l的串行时钟输入,状态信号(SPISTEA)作为理。接口卡软件设计包括两部分:一是卡上Flash驻留
MAX31ll的片选信号(CS),主机发送引脚SPISIMO与
的F28335控制程序.用CCS实现,负责DSP与双口
DIN连接作为发送数据线,主机接受引脚SPISOMI与RAM及总线收发器间的通信。二是主机端的驱动程
DOUT连接作为接收数据线,为了保证F28335通过序,用C语言、WinDfiver实现,负责完成主机与双口
SPI接口接受数据不丢帧。MAX3111的中断信4号-(IRQ)
RAM之间的通信。它提供了访问接口的一系列函数,
与DSP的外部中断相连。另外MAX3111的TX与可以在应用程序中调用。
TIlN连接,RX与R10UT连接。以便利用其片内的转
3.1
F28335的片上Flash程序开发
换器实现UART到RS232的电平转换,同时TX和RX
当接口卡与主控机连接,主机自动给卡分配一个
分别以Y字形分线接至光隔用以扩展一路RS422总
相应大小的内存空间。映射为卡上的双口RAM存储
线。F28335与MAX3111的接口电路如图4所示。
2.4加采集调理电路设计
空间。双口RAM的存储空间划分为两部分:命令区和
缓冲区。命令区存放各总线波特率设置、数据帧长度和
目前大多数MEMS惯性器件及大气传感器的输发送与接收命令的首指针与尾指针,缓冲区用于存放
出量程为0—5V,而F28335的有效测量范围为0~3V,各总线待发送和接收到的数据。
因此需要增加幅值变换和滤波的调理电路。在默认情况下,各总线通信速率为19.2K波特率,
笔者主要采用OP07放大器先实现输入电压跟在双m~M分配4个独立单元,分别存放主控机对四
随,然后经过两级反向衰减,将输入0~5V电压实现种总线通信波特率设置信息,再分配4个单元存放四
0.5倍幅值变换。由于涉及放大器反向变换需要一5V电
种总线的数据帧长度,再分配16个单元,每4个一组,
压,采用ICL7660电压泵芯片来实现5V至一5V的变分别存放4个总线DSP发送缓冲区的首指针和尾指
换,调理电路如图5所示。针以及接受缓冲区的首指针和尾指针:另外还需分配
2.5电源管理电路设计
8个单元存放DSP接收缓冲区数据帧的帧头和帧尾信
该接口板上主要分三部分供电.一是光隔一侧是
息。在F28335完成初始化后,首先依次扫描波特率设
F28335、双口RAM及DSP外围器件的供电.这部分器置信息,如发现该设置与某总线当前的波特率不同,则
件的工作电压是3.3V的,其中F28335是需要1.8V和
重新设置总线通信的波特率,然后依次扫描各接收缓
3.3V两种工作电源。而PCI04总线插槽上B3引脚提
冲区的首尾指针是否相同?相同则继续扫描。当某一对
供了5V电源,可以利用该5V电源进行电压转换,为首尾指针不同,则读取数据并检测和记录数据帧头和
了实现方便。选用了TI公司的TPS767D318双输出稳
帧尾,当读取完整一帧后,在相应的接口上发出去。同
压芯片,该芯片具有1.8V和3.3V两种输出电压,正常样的,当某接口上接收到数据达到FIFO缓冲深度时
工作时每路最大输出电流达1A.完全满足PCI04功
耗要求。二是另一侧对于总线驱动所需的隔离电源。由
于各总线驱动所选器件都需要3.3V的工作电压,采用
n公司的DCR010503P芯片来实现,该隔离DC,DC模
块体积小,具有贴片封装形式,能够减少电路板的面
积,并可实现5V至3.3V隔离电压的变换。三是调理
电路供电,主要采用ICL7660实现(见图5)。
3软件设计
___——
TIIN
—
IRQ
INTl
』
RIOUT
=
CS
SPlSTA’rE
光隔Rx
Rx
晕SCLK
SPICLK
光隔Tx
-_——
Tx
苫DOUTSPIMI
R¥232Rx
RIIN
DIN
SPIM010LLF
10uF
RS232Tx
T10UT
删¥3201728335
▲图4串口扩展电路
▲图5调理电路图
机械制造51卷第59t1期
2013/10圆
万方数据
会中断DSP,F28335在中断程序中只需将接收的数据
依次写入双口RAM的发送缓冲区即可,其数据帧的解
码交由主控机来完成(F28335的主程序流程见图6)。
数据缓冲区采用环形队列数据结构,以先进先出
方式工作,每个数据缓冲区设置1024字节的长度。当
要进行发送操作时,先读出尾指针,根据尾指针所指地
址放人数据,然后把命令区中的尾指针改为指向缓冲
区中下一个地址单元,而首指针保持不变,这样就完成
了一次数据发送。当要接收数据时。首先检查首尾指针
是否相等,如果相等,则表明缓冲区没有新数据:如果
不等,表明有新数据,这时应根据首指针所指地址读出
数据,然后修改首指针指向下一个地址单元,这样就接
收了一个数据。如此循环可完成多个数据的发送和接
收,当尾指针所指地址达到缓冲区最后一个单元时,其
下一个所指地址则返回到缓冲区第一个单元,循环使
用缓冲区;当尾指针追上首指针时,首指针则自动下移
一个单元,放弃最先放人的一个数,保持最新一拍数
据。F28335向扩展接口上发送数据时.需要判断从双
口RAM缓冲区读取的数据是否满一帧.需要检验帧
首和帧尾,当满一帧时向相应串口发送数据。对于串口
中断接受的数据,同样以循环队列的形式由F28335写
入双口RAM(F28335中断服务程序见图7)。由于SCI
和CAN总线接口都属于F28335的片上资源。对相应
的寄存器进行适当的配置,即可完成相应的功能。但由
SPI接口扩展的UART的程序设计,首先需要初始化
画2013/10
万方数据
SPI模块寄存器。然后通SPI总线向MAX3111写控制
字进行UART的初始化,需要注意的是,SPI接口必须
设置成上升沿非延时模式,才能进行正常通信。
3.2接口卡驱动程序的开发
驱动程序主要采用Windriver开发工具进行设计,
驱动程序主要对各总线通信波特率、帧首与帧尾的设
置提供接口函数以及数据发送接口函数。对于数据发
送的接口函数流程可参照图6:PCI04主控机定时扫
描双口RAM的命令区的首尾指针.首尾指针地址相
异,则读取数据,存入缓存,供接口函数调用。
4结束语
本接口卡能满足快速性、可靠性等系统性能的要
求,且设计简洁,具有一定的智能性,已成功应用在某
型无人机的机载飞控计算机上。该接口卡工作稳定。具
备数据预处理功能,简化了主控机软件开发,很好地满
足中小型无人机飞行控制计算机集成设计要求。具备
多种数据采集与控制接口能力,具有普遍适用性。
参考文献
[1]冯密荣.世界无人机大全.[M]北京:航空工业出版社,2004.
[2]
Cloud
Cap
Technology公司.A
Highly
Integrated
UAV
Avionics
System[EB/OL].http://www.cloudcaptech.corn/
downloads.htm.2012—2—14.
[3]北京麦克普特无人机控制系统有限公司.APSO驾驶仪技
术手册fEB/OL].http://www.uavstar.corn.2011—12—2.
[4]Texas
Instruments.TMS320F28335
DSP
Controllers[EB,0L].
http://www.ti.com,2001-7.
[5]Maxim.MAX3111
Datasheet[EB/OL].hap://www.maxim—ic.
corn。2012—7.
△
(编辑
日
月)
机械制造51卷第5帅期
盘
2024年6月2日发(作者:徐吉帆)
基于TMS320F28335的无人机机载智能接口卡设计
口肖垄口闫杰
口靳文平
西北工业大学航天学院西安710072
摘要:针对某型无人机机栽飞行控制计算机多种接口需求以及集成度要求高的特点.采用DSP处理器、双口RAM
和PCI04总线来完成CAN、RS422、'ITL232/RS232等多总线接口以及多路MD和PWM舵机控制电路的设计,具有结构
简单、实用性强的特点。简化了羌人机飞控计算机的设计,具有一定的推广价值。
关键词:无人机DSP
PCI04
CAN总线
中图分类号:THl33
文献标识码:A
文章编号:1000—4998(2013)10—0017—04
随着无人机技术的迅猛发展,低成本、高可靠性、
硬件设计主要分两部分:一是板上处理器如何实
多功能结构的飞行控制系统已成为当前研究的热点之现多种接口的连接:二是板上处理器与PCI04总线的
一…。为减小开发风险.降低设计成本.采用集成度高桥接。前者在采用含多种接口的处理器(F28335)的同
的片上系统DSP器件进行外部接口板设计是合适的。
时,利用相应外围转换器件进行接口扩展,后者一般采
目前,一方面中小型无人机飞控系统接口种类较用多端口RAM进行高速数据传输。
多,如卫星定位模块多采用RS232总线结构,无线电由于Ⅱ公司的DSP器件TM¥320F28335(以下简
链路和任务管理采用RS422总线结构C2]。惯性及大气称F28335)具有150MHz的工作频率和内部256K字
传感器一般采用刖D采集方式.舵机以PWM方式进Flash,片上含多种串行口(包括CAN、McBSP、SPI和
行控制[3],另外飞行控制计算机在闭环仿真实验及故
2SCI)t41以及16路A/D采集通道、6个脉冲计数通道和
障检测中,通常采用CAN总线。另一方面,为了便于机12路PWM脉宽调制控制通道.因此以该DSP为核
载自主软件开发,主控计算机一般采用PCI04或心,很容易实现多种接口的连接。采用3.3V供电的
ETX,这些嵌入式主板接口单一,难以满足
飞行控制系统多接口需求。因此需要集成度
高的接口板,通过PCI04总线,实现飞控系
统多接口扩展。
为了适应多种接口应用的变化.缩短开
发周期.7-Is:文主要研究了基于PCI04总线接
口卡的开发。利用片上系统的DSP器件
TMS320F28335
和双口
RAM
器件
IDT70V27以及相应的总线驱动芯片和接口
电路,以简洁的方式实现了多种接口到
PCI04总线的通信转换。
1硬件原理设计
收稿日期:2013年5月
‘—‘F。—1F一—+一一+”+*+一+-—+一一+-—+一-+一+-+-+一+-+*+一+一+-+-+一+-+-+-+-+-+-+-+-+一+一+一+一+-+-+-+一+-+-+一+一+*+-+*+-+-+・
山大学.2011.
机构的设计[J].机械制造,2011(12):75—77.
[3]方健.SCARA机器人运动控制器设计及应用研究[D].长[6]
亚德客-气动器材[Z].2010.
春:吉林大学.2007.
[7]李敏.多工位晶体装配机的设计与分析[D].深圳:哈尔滨工
[4]
王云峰.IGBT全自动装片机工艺方法研究[J].电子与封
业大学深圳研究院.2012.
装,2011,12(9):14—23.
[8]吴迪光.微积分学[M].杭州:浙江大学出版社,2011.
△
[5]胡亚娟,沈立红,严文文.汽车电动燃油泵上电容自动上料(编辑
丁
罡)
盛
机械制造51卷第5如期
2013/10回
万方数据
RS485/RS422驱动芯片MAX3490分别与F28335的3问仲裁控制,IDT70V27利用BUSY引脚信号提供了内
个SCI相连,实现RS485/R¥422通信:通过MAX3111
部硬件判优的方式.当两端口同时访问同一地址单元
与SPI相连,扩展了通用异步串行接口(UART),可实时,由片内电路根据两边的地址.片选读写信号到达的
现RS232和RS422复用的总线Es]:CAN总线接口通过
先后顺序,裁决哪个端口有使用权。BUSY信号可直接
SN65HVD232来实现。另外,为了保证F28335的安全,接至支持插入等待时序引脚,为了防止选择不当引起
需要进行电路隔离:一是在F28335各对外接口中进行地址冲突而导致死机.用比较器选择开关组成了开关
光电隔离;二是进行电源隔离。串口隔离采用高频光隔式可选端口的地址译码电路。通过切换开关状态来改
6N137实现,由于其上限频率达10MHz,满足上述各
变分配给IDT70V27的地址空间,避免冲突。
总线的通信速率要求。电源隔离采用1rI公司的隔离式
PCI04总线共有20条地址线。其中A0~A14接到
DC/DC模块DCR010503P,对接口驱动芯片进行供电。IDT70V27的AOL~A14L,A15~A19接,到74LS686的
为了满足多种接口通信带来的数据负荷。F28335
Po~P4,ALE接P7。74LS686的QO~Q4接了一个多位
与PCI04总线通过IDT公司的双口RAM
IDT70V27
开关,Q6和Q7都置1,74L5686的输出信号作为
完成数据交换;由于IDTTOV27具有+3.3V和+5V电压IDT70V27的左片选信号。因此,IDTTOV27的地址分配
的兼容性,可以直接与F28335和PCI04总线相连,且
在C0000H~DFFFFH之间.由多位开关的通断来决定
其容量大,读写时间短,满足大量数据的高速传输。基置1还是置0,实现地址范围的切换。
于以上设计,多种接口的PCI04扩展卡原理框图如图
DSP侧,地址线的低15线直接与双口RAM另一
1所示。侧的地址线相连,片选信号Zone6、状态线和读写线分
2
电路实现
别与双口RAM的片选线、忙信号线和读写线直接相
连,三者的接口电路如图2所示。
2.1
PCI04总线、DSP和双口RAM间的接口
2.2
隔离电路和各总线收发接口设计
PCI04总线对接口的寻址有两种方法:一种是把
为了保证核心器件F28335的安全.在其引出的各
双口RAM当成外部设备。使用端口L/o指令进行访个总线上加隔离是非常必要的。光隔6N137的最高工
问,这种方法一次只能传送一个字节或字,因而传送速作频率是10MHz。PCI04扩展卡上,各串行通信的接
度较慢;另一种是内存映像法,把双口RAM地址配置口当中,波特率最高是CAN总线。其最高波特率为1
于PC机主存储器的高端(一般为C0000H—DFFFFH),
MHz,所以采用光隔6N137可以满足设计的要求。板卡
以使PC机像访问主存储器一样访问双口RAM.同时除CAN总线外。其它总线都是由UART通用异步串行
使所有能够访问主存储器的指令也以同样的方式访问
接口与相应驱动芯片相连接构成。而CAN总线在结构
双口RAM。内存映像法可以以字符块为单位进行传上与UART相同,所以隔离电路的设计基本相同,对于
送,因而可实现快速访问双口RAM,因此这里采用存
PWM驱动电路和脉冲计数的隔离与串行线发送端作
储器内存映射的寻址方式。
相同隔离处理;另外需要进行电源隔离,这里主要采用
双口RAM存储器IDrl70V27具有32K的寻址空TI公司的隔离DC/DC模块DCR010503P进行电源隔
间,其特点是存储数据共享。但是,两个独立的CPU或
离,DCR010503P是贴片式封装,节省电路板空问,其
控制器同时访问双口RAM的同一存储单元.势必造隔离电路如图3所示。
成数据访问失真。为了防止冲突的发生.就必须存在访
2.3
串口扩展电路的设计
MAX3111芯片可以实现SPI至UART的转换.且
DO~D710LO.7
IOR0—7DO—D7
内部具有发送和接受的双向FIFO缓存.可以减少对
AO~A14AL0~14
ARO-14
A0~A14
SMEMWWRL
WRR
WR
SMEMR
OEL
OER
RD
IOCHRDY
RTISYTCSLCSRBUSYR
READY
IDT70V27
ZONE6
AEN
P7
P=Q
A15~A19PO ̄4
PCI04总线
74LS686
▲图2双口RAM的桥接电路
▲图3总线隔离电路
回2013/10
机械制造51卷第¥90期
盘
万方数据
CPU的中断和保证高速的数据通信。它与F28335通根据多总线通信卡的多种通信协议及波特率的不
过SPI总线连接:DSP的发送时钟信号(sPICLK)作为
同,应该有多种相应的驱动程序和DSP处理程序来调
MAX311l的串行时钟输入,状态信号(SPISTEA)作为理。接口卡软件设计包括两部分:一是卡上Flash驻留
MAX31ll的片选信号(CS),主机发送引脚SPISIMO与
的F28335控制程序.用CCS实现,负责DSP与双口
DIN连接作为发送数据线,主机接受引脚SPISOMI与RAM及总线收发器间的通信。二是主机端的驱动程
DOUT连接作为接收数据线,为了保证F28335通过序,用C语言、WinDfiver实现,负责完成主机与双口
SPI接口接受数据不丢帧。MAX3111的中断信4号-(IRQ)
RAM之间的通信。它提供了访问接口的一系列函数,
与DSP的外部中断相连。另外MAX3111的TX与可以在应用程序中调用。
TIlN连接,RX与R10UT连接。以便利用其片内的转
3.1
F28335的片上Flash程序开发
换器实现UART到RS232的电平转换,同时TX和RX
当接口卡与主控机连接,主机自动给卡分配一个
分别以Y字形分线接至光隔用以扩展一路RS422总
相应大小的内存空间。映射为卡上的双口RAM存储
线。F28335与MAX3111的接口电路如图4所示。
2.4加采集调理电路设计
空间。双口RAM的存储空间划分为两部分:命令区和
缓冲区。命令区存放各总线波特率设置、数据帧长度和
目前大多数MEMS惯性器件及大气传感器的输发送与接收命令的首指针与尾指针,缓冲区用于存放
出量程为0—5V,而F28335的有效测量范围为0~3V,各总线待发送和接收到的数据。
因此需要增加幅值变换和滤波的调理电路。在默认情况下,各总线通信速率为19.2K波特率,
笔者主要采用OP07放大器先实现输入电压跟在双m~M分配4个独立单元,分别存放主控机对四
随,然后经过两级反向衰减,将输入0~5V电压实现种总线通信波特率设置信息,再分配4个单元存放四
0.5倍幅值变换。由于涉及放大器反向变换需要一5V电
种总线的数据帧长度,再分配16个单元,每4个一组,
压,采用ICL7660电压泵芯片来实现5V至一5V的变分别存放4个总线DSP发送缓冲区的首指针和尾指
换,调理电路如图5所示。针以及接受缓冲区的首指针和尾指针:另外还需分配
2.5电源管理电路设计
8个单元存放DSP接收缓冲区数据帧的帧头和帧尾信
该接口板上主要分三部分供电.一是光隔一侧是
息。在F28335完成初始化后,首先依次扫描波特率设
F28335、双口RAM及DSP外围器件的供电.这部分器置信息,如发现该设置与某总线当前的波特率不同,则
件的工作电压是3.3V的,其中F28335是需要1.8V和
重新设置总线通信的波特率,然后依次扫描各接收缓
3.3V两种工作电源。而PCI04总线插槽上B3引脚提
冲区的首尾指针是否相同?相同则继续扫描。当某一对
供了5V电源,可以利用该5V电源进行电压转换,为首尾指针不同,则读取数据并检测和记录数据帧头和
了实现方便。选用了TI公司的TPS767D318双输出稳
帧尾,当读取完整一帧后,在相应的接口上发出去。同
压芯片,该芯片具有1.8V和3.3V两种输出电压,正常样的,当某接口上接收到数据达到FIFO缓冲深度时
工作时每路最大输出电流达1A.完全满足PCI04功
耗要求。二是另一侧对于总线驱动所需的隔离电源。由
于各总线驱动所选器件都需要3.3V的工作电压,采用
n公司的DCR010503P芯片来实现,该隔离DC,DC模
块体积小,具有贴片封装形式,能够减少电路板的面
积,并可实现5V至3.3V隔离电压的变换。三是调理
电路供电,主要采用ICL7660实现(见图5)。
3软件设计
___——
TIIN
—
IRQ
INTl
』
RIOUT
=
CS
SPlSTA’rE
光隔Rx
Rx
晕SCLK
SPICLK
光隔Tx
-_——
Tx
苫DOUTSPIMI
R¥232Rx
RIIN
DIN
SPIM010LLF
10uF
RS232Tx
T10UT
删¥3201728335
▲图4串口扩展电路
▲图5调理电路图
机械制造51卷第59t1期
2013/10圆
万方数据
会中断DSP,F28335在中断程序中只需将接收的数据
依次写入双口RAM的发送缓冲区即可,其数据帧的解
码交由主控机来完成(F28335的主程序流程见图6)。
数据缓冲区采用环形队列数据结构,以先进先出
方式工作,每个数据缓冲区设置1024字节的长度。当
要进行发送操作时,先读出尾指针,根据尾指针所指地
址放人数据,然后把命令区中的尾指针改为指向缓冲
区中下一个地址单元,而首指针保持不变,这样就完成
了一次数据发送。当要接收数据时。首先检查首尾指针
是否相等,如果相等,则表明缓冲区没有新数据:如果
不等,表明有新数据,这时应根据首指针所指地址读出
数据,然后修改首指针指向下一个地址单元,这样就接
收了一个数据。如此循环可完成多个数据的发送和接
收,当尾指针所指地址达到缓冲区最后一个单元时,其
下一个所指地址则返回到缓冲区第一个单元,循环使
用缓冲区;当尾指针追上首指针时,首指针则自动下移
一个单元,放弃最先放人的一个数,保持最新一拍数
据。F28335向扩展接口上发送数据时.需要判断从双
口RAM缓冲区读取的数据是否满一帧.需要检验帧
首和帧尾,当满一帧时向相应串口发送数据。对于串口
中断接受的数据,同样以循环队列的形式由F28335写
入双口RAM(F28335中断服务程序见图7)。由于SCI
和CAN总线接口都属于F28335的片上资源。对相应
的寄存器进行适当的配置,即可完成相应的功能。但由
SPI接口扩展的UART的程序设计,首先需要初始化
画2013/10
万方数据
SPI模块寄存器。然后通SPI总线向MAX3111写控制
字进行UART的初始化,需要注意的是,SPI接口必须
设置成上升沿非延时模式,才能进行正常通信。
3.2接口卡驱动程序的开发
驱动程序主要采用Windriver开发工具进行设计,
驱动程序主要对各总线通信波特率、帧首与帧尾的设
置提供接口函数以及数据发送接口函数。对于数据发
送的接口函数流程可参照图6:PCI04主控机定时扫
描双口RAM的命令区的首尾指针.首尾指针地址相
异,则读取数据,存入缓存,供接口函数调用。
4结束语
本接口卡能满足快速性、可靠性等系统性能的要
求,且设计简洁,具有一定的智能性,已成功应用在某
型无人机的机载飞控计算机上。该接口卡工作稳定。具
备数据预处理功能,简化了主控机软件开发,很好地满
足中小型无人机飞行控制计算机集成设计要求。具备
多种数据采集与控制接口能力,具有普遍适用性。
参考文献
[1]冯密荣.世界无人机大全.[M]北京:航空工业出版社,2004.
[2]
Cloud
Cap
Technology公司.A
Highly
Integrated
UAV
Avionics
System[EB/OL].http://www.cloudcaptech.corn/
downloads.htm.2012—2—14.
[3]北京麦克普特无人机控制系统有限公司.APSO驾驶仪技
术手册fEB/OL].http://www.uavstar.corn.2011—12—2.
[4]Texas
Instruments.TMS320F28335
DSP
Controllers[EB,0L].
http://www.ti.com,2001-7.
[5]Maxim.MAX3111
Datasheet[EB/OL].hap://www.maxim—ic.
corn。2012—7.
△
(编辑
日
月)
机械制造51卷第5帅期
盘