首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
ARM
» 一种基于DSP的张力、深度、速度测量系统(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
一种基于DSP的张力、深度、速度测量系统(2)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2016-11-21 10:41
|
只看该作者
一种基于DSP的张力、深度、速度测量系统(2)
数据采集
,
计算机
,
处理器
,
工控机
,
嵌入式
在一款嵌入式数据采集系统的设计中,采用TMS320VC5409 DSP作为对多路信号的采集与预处理,处理后的数据送至12.7 Cm(5in)的工控计算机中进行分析与保存。因为工控机的总线为PC104,因此需要设计PC104与DSP之间的通信接口。系统中以Altera公司的一片FPGA芯片EPlK50来对该接口和数据采集过程中的逻辑控制与FIFO进行设计。下面主要阐述该通信接口的设计。
1 DSP的HP0接口
TMS320VC5409 DSP的HPI是一个8位的并行接口,主要用来与主设备或主处理器接口。DSP内部有一定数量的双访问RAM,除了DSP本身可以访问该RAM区域外,主机也可以通过HPI口实现对双访问RAM的访问,从而实现主机与DSP的通信。
HPI接口通过HPI控制寄存器HPIC、地址寄存器HPIA、数据寄存器HPID等3个HPI寄存器进行控制和实现数据传输。这3个寄存器都是16位的,因此主机访问这些寄存器时需要分两次操作才能完成。
HPIC只有4位用于控制HPI的操作,这4位分别位于高字节和低字节的低4位,并规定HPIC的高低字节必须相同:
Bit0/8(BOB)一一用于字节顺序控制,BOB=1表示第1个字节为低字节,否则第1个字节为高字节;
Bitl/9(SMOD)一一访问模式控制,SMOD=l表示共享访问模式(SAM),否则为主机访问模式(HOM);
Bit2/10(DSPINT)一一主机通过将该位写l来向DSP发送1次HPI中断;
Bit3/11(H1NT)一一DSP通过向该位置l,使外部引脚HINT产生一个低电子作为给主机的中断,中断的清除必须由主机向该位写l来清除。
HPID是数据寄存器,主机通过读写该寄存器来实现对共享RAM的读写,RAM的地址则由HPIA地址寄存器的内容来决定。因此,主机对DSP的访问过程是,先往HPI地址寄存器HPIA写入欲访问的地址,然后再对数据寄存器HPID进行读或写访问。
HPI接口信号包括:
HAS一一输入,地址锁存信号,可连接到高电平;
HBIL一一输入,字节识别信号,用来识别传输的是高电平还是低电平;
HCNTL[1..0]一一输入,HPI寄存器的访问地址信号,主机用来选择访问的HPI寄存器。如表l所列;
HCS一一输入,HPI片选信号,低电平有效;
HD[7..0]一一双向三态数据总线;
HDS1/HDS2一一数据输入选通信号,可将其中一个接低电平,另一个接逻辑控制;
HINT一一输出,给主机的中断信号,由HPIC寄存器的HINT位控制;
HRDY一一输出,HPI准备好,高电子有效;
HR/W一一输入,读写控制信号,高电子表示主机进行读操作,低电子表示主机进行写操作。
HPI的访问时序如图l所示。如前所述,访问寄存器时需要分两次操作才能完成。
2 PC104总线
PC104总线是从ISA总线衍生而来的,主要是为了适应嵌入式系统的需要。在8.89 cm(3.5 in)和12.7cm(5in)工控主板中,大多使用PC104总线作为标准接口总线。PC104总线共有104根引脚,其中绝大多数与ISA总线信号特性完全一致,只有极个别的信号有区别,因此在应用中完全可以按ISA总线使用。PC104总线与ISA总线一样,是一个16位和8位同时兼容的总线。在本系统中,使用的是8位的方式,将DSP的HPI口作为PC104总线的8位I/O设备。PC104总线的I/O访问时序如图2和图3所示。
根据PC104总线的I/O访问时序,只需使用以下的总线信号,即可完成8位总线的通信设计:
SD[7..0]一一PC104数据总线;
SA[9..0]一一PC104地址总线;
IOW一一PC104端口写控制,低电平有效,表示对I/0口写操作,由OUT指令执行;
IOR一PC104端口读控制,低电子有效,表示对I/O口读操作,由IN指令执行;
SYSCLK一一PC104总线时钟;
ALE一一地址锁存信号,在此不用作地址锁存,而是用作总线周期的开始同步,它的下降沿表示总线周期开始;
IOCHRDY一一I/0设备就绪信号,当将该电平为低(无效状态)时,表示I/0设备要延长总线周期,信号由三态门或集电极开路门驱动;
IRQ一一中断请求信号,当I/O设备需要向PC机通信或是采集的信号已经准备好后,向PC发起中断,申请通信,PC将数据读走。
3 接口设计
根据前面的分析,得出接口原理如图4所示。
图4中,FPGA为EPlK50。EPlK50内部拥有2880个逻辑单元,40 960位的RAM。在本系统中,不仅作为HPI和PC104的接口逻辑,还有其他功能,如FIFO、A/D控制等。
EP1K50的内核供电电压为2.5 V,I/O供电电压为3.3 V,可以直接与I/O供电电压也是3.3 V的TMS320VC5409 DSP相连.另外,EPIK50能承受-0.7~5.75V的输入电子,输出则与TTL电平兼容,因此EP1K50也可以直接与5 VTTL电平的PC104总线相连,从而在DSP和PC104总线之间起电平转换的作用,不需再使用其他的电子转换器件,简化了电路设计。
对于接口设计来说,最主要的就是时序设计。时序设计正确了,系统就能正确地工作。在综合了HPI的访问时序与PC104总线的读写时序后,得出以下设计方法:
①对于HPI寄存器的访问可以通过地址编码实现,偶地址对应寄存器的低字节,奇地址对应寄存器的高字节,如表2所列。
于是相应信号关系为:
HCNTL[1..0]=SA[2..1]
HBIL=SA[0]
当SA[9..0]=0x350~0x357时,HCS=0,SA[9..0]
为其他值时,HCS=1。
②HD[7..O]和SD[7..0]设计成双向总线。
③HR/W的产生:当PCI04进行读操作时,HR/W=1;当PC104进行写操作时,HR/W=0。于是:
HR/W=0,当IOR=1且IOW=0时;
HR/W=1,当IOR=0且IOW=1时。
④在DSP上将HDS2直接接低电子,HDSl在HBIL为0和HBIL为1时,分别产生一个变化沿,用以选通数据。该信号的产生是接口设计成功的关键。在此使用PCI04总线的系统时钟信号SYSCLK来计数产生。详细过程可参见VHDL代码。
⑤PCI04总线的中断请求信号IRQ=HINT取非。因为PC104设置为上升沿中断。
⑥PC104总线的外部I/0准备好信号IORDY在地址选通有效过程中接HPI口的HRDY信号,地址选通无效时置为高阻态。
4 代码设计
代码包括接口设计的VHDL源码和验证的X86汇编语言代码,代码内容见本刊网站(
WWW.dpj.com.cn
)。VHDL代码在Altera公司的开发工具QuartusII下编译,经下载电缆下载到FPGA后,可在Debug中用汇编语言对DSP进行读写验证。
结 语
本文使用VHDL语言和FPGA,设计了PC104总线与DSP之间的接口。之所以使用FPGA,是因为在系统中FPGA还包含有其他的功能设计。如果只有PC104总线与DSP之间的接口设计,使用CPLD即可完成,而不必浪费FPGA的资源。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议