CN102722143B - 采用复杂可编程逻辑器件扩展数字信号处理器端口的方法 - Google Patents
采用复杂可编程逻辑器件扩展数字信号处理器端口的方法 Download PDFInfo
- Publication number
- CN102722143B CN102722143B CN201110076912.3A CN201110076912A CN102722143B CN 102722143 B CN102722143 B CN 102722143B CN 201110076912 A CN201110076912 A CN 201110076912A CN 102722143 B CN102722143 B CN 102722143B
- Authority
- CN
- China
- Prior art keywords
- cpld
- digital signal
- signal processor
- bus
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本发明涉及用于电数字数据处理的信息或其它信号在存贮器、输入/输出设备或者中央处理机之间的互连或传送领域,具体为一种采用复杂可编程逻辑器件扩展数字信号处理器端口的方法。一种采用复杂可编程逻辑器件扩展数字信号处理器端口的方法,按如下步骤依次进行:a.使用数字信号处理器(1)的时钟输出信号作为同步时钟;b.使用复杂可编程逻辑器件(2)同步时钟的上升沿去触发数字信号处理器(1)地址信号;h.地址锁存器(12)将地址信号输入数字信号处理器(1),数据锁存器(14)将数据信号输入数字信号处理器(1)。本发明扩展了数字信号处理器的资源,降低成本。
Description
技术领域
本发明涉及用于电数字数据处理的信息或其它信号在存贮器、输入/输出设备或者中央处理机之间的互连或传送领域,具体为一种采用复杂可编程逻辑器件扩展数字信号处理器端口的方法。
背景技术
CAN,全称“ControllerAreaNetwork”,即控制器局域网,CAN总线是国际上应用最广泛的现场总线之一。CAN总线即被设计作为汽车环境中的数字信号处理器(即DigitalSignalProcessing,缩写为DSP)通讯,在车载各电子控制单元(即ElectronicControlUnit,缩写为ECU)之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。目前,在混合动力及纯电动汽车领域,双路CAN总线通讯已经成为标准,DSP(即DigitalSignalProcessing的缩写,意为数字信号处理器)也得到了广泛应用,但是在使用过程经常遇到资源限制,比如很多DSP尽管能满足控制需求,却由于只有一路CAN端口而无法通讯,这就限制了DSP在CAN总线场合的应用。
发明内容
为了克服现有技术的缺陷,提供一种扩展DSP端口的方法,本发明公开了一种采用复杂可编程逻辑器件扩展数字信号处理器端口的方法。
本发明通过如下技术方案达到发明目的:
一种采用复杂可编程逻辑器件扩展数字信号处理器端口的方法,复杂可编程逻辑器件,即ComplexProgrammableLogicDevice,简称CPLD,本发明采用复杂可编程逻辑器件分离控制器局域网总线控制器中的数据总线和地址总线,数字信号处理器通过地址总线和数据总线分别连接地址锁存器和数据锁存器,地址锁存器和数据锁存器都通过复用总线连接控制器局域网总线控制器,
其特征是:复用总线上还串联有复杂可编程逻辑器件,按如下步骤依次进行:
a.使用数字信号处理器的时钟输出信号来作为同步时钟;
b.使用复杂可编程逻辑器件同步时钟的上升沿去触发数字信号处理器地址信号;
c.在复杂可编程逻辑器件同步时钟的上升沿触发了数字信号处理器地址信号后,复杂可编程逻辑器件接收到数字信号处理器地址信号高八位为FF时先将地址触发信号拉高,同时把数字信号处理器的地址信号存入复杂可编程逻辑器件的缓冲区中;
d.在同周期的时钟下降沿将复杂可编程逻辑器件的缓冲区中的地址信号传输到控制器局域网总线控制器的复用总线上;
e.在复杂可编程逻辑器件同步时钟的上升沿触发了数字信号处理器地址信号后,当复杂可编程逻辑器件上升沿触发到数字信号处理器地址信号的高八位是F0时,就将地址触发信号拉低,这时控制器局域网总线控制器的复用总线仍然输入缓冲区中的地址信号,以使地址触发信号的下降沿有效地触发数字信号处理器发出的地址信号;
f.在同周期的时钟的下降沿,把控制器局域网总线控制器的复用总线设置为高阻态,以释放总线;
g.在复杂可编程逻辑器件将地址触发信号拉低后一个时钟周期的上升沿,将数字信号处理器的读信号或写信号传递给控制器局域网总线控制器;
h.如果是读信号,就在对应的下降沿时将控制器局域网总线控制器的复用总线数据经数据缓冲区传递给数据锁存器,如果是写信号,就在和复杂可编程逻辑器件同步时钟上升沿所对应下降沿将数据锁存器信息经数据缓冲区传递给复用总线;
i.在复杂可编程逻辑器件于时钟周期的上升沿检测到数字信号处理器读写周期结束,取消对控制器局域网总线控制器的读写指令,清除数据缓冲区,释放控制器局域网总线控制器的复用总线。
所述的采用复杂可编程逻辑器件扩展数字信号处理器端口的方法,其特征是:控制器局域网总线控制器采用SJA1000型控制器局域网总线控制器。
本发明通过CPLD硬件描述语言实现DSP的数据、地址总线和独立的CAN总线控制器之间的通讯,从而为DSP扩展了CAN端口。本发明的有益效果是:很方便的扩展了DSP的资源,弥补了现有DSP电机控制方案的不足,避免了可能因为DSP的限制而更换平台造成的风险和成本。
附图说明
图1是本发明的结构示意图;
图2是本发明中局域网总线控制器读取时的控制时序要求的波形图。
具体实施方式
以下通过具体实施例进一步说明本发明。
实施例1
一种采用复杂可编程逻辑器件扩展数字信号处理器端口的方法,设备包括数字信号处理器1、地址总线11、地址锁存器12、数据总线13、数据锁存器14、复杂可编程逻辑器件2、局域网总线控制器3和复用总线31,如图1所示,具体结构是:数字信号处理器1通过地址总线11和数据总线13分别连接地址锁存器12和数据锁存器14,地址锁存器12和数据锁存器14都通过复用总线31连接控制器局域网总线控制器3,复用总线31上还串联有复杂可编程逻辑器件2。
数字信号处理器1选用美国德州仪器(即TexasInstrumentsIncorporated)公司出品的TMS320LF2407型DSP芯片,这是一种常用的电机控制芯片,但它只有一路CAN端口,无法满足现在的新能源汽车的控制需要,本实施例复杂可编程逻辑器件2选用美国阿尔特拉(即Altera)公司出品的EPM3128A型CPLD芯片,局域网总线控制器3选用荷兰飞利浦(即Philips)公司出品的SJA1000型CAN控制器,局域网总线控制器3是将CAN信号转变成8位数字信号的芯片,但是使用的限制是,局域网总线控制器3的地址总线和数据总线是复用的AD[0..7],而数字信号处理器1的数据总线和地址总线都是分离的,因此需要复杂可编程逻辑器件2实现数据和地址的分离。
复杂可编程逻辑器件2实现数据和地址的分离,就是通过地址锁存器12和数据锁存器14这两个锁存器,分别将数据信号和地址信号存入不同的存储器,然后和数字信号处理器1的数据总线及地址总线通讯。
具体的动作包括:
使用数字信号处理器1的时钟输出(即clockout)信号来作为整个系统的同步时钟,这也是数字信号处理器1的内部工作的机器时钟,使用这个同步时钟,可以做到整个系统,包括数字信号处理器1、复杂可编程逻辑器件2和局域网总线控制器3的一致和快速运行。
控制器局域网总线3的地址触发信号(即ALE),是让控制器局域网总线3能够实现地址和数据总线复用的关键,以读取周期为例,图2是时序要求的波形图,图2中,ALE指地址触发信号,CS指片选信号,RD指读信号,WR指写信号,AD[0..7]指数据地址复用总线。
从图2中可见,ALE下降沿来触发地址信号,控制器局域网总线3在ALE拉低后才能接受读指令,并且将总线设为高阻态,再发送数据。
为了保证控制器局域网总线3有效的触发到地址信号,本实施例采用两次读取的方式,即数字信号处理器1发送两次读扩展CAN的指令,地址分别是0xFFXX和0xF0XX,XX是实际需要操作控制器局域网总线3的地址。
两次读取的过程是:
1.使用复杂可编程逻辑器件2同步时钟的上升沿去触发数字信号处理器1地址信号;
2.复杂可编程逻辑器件2接收到数字信号处理器1地址信号高八位为FF时先将地址触发信号拉高,同时把数字信号处理器1地址信号中的数字信号处理器1地址数据锁存入复杂可编程逻辑器件2的缓冲区中;
3.在同周期的时钟下降沿将复杂可编程逻辑器件2缓冲区中的数字信号处理器1地址数据传输到控制器局域网总线控制器3的复用总线31上;
4.当复杂可编程逻辑器件2上升沿触发到数字信号处理器1地址信号的高八位是F0时,就将地址触发信号拉低,这时控制器局域网总线控制器3的复用总线31仍然输入缓冲区中的数字信号处理器1地址数据,于是地址触发信号的下降沿就有效地触发到了数字信号处理器1发出的地址信号;
5.在同周期的时钟的下降沿,把控制器局域网总线控制器3的复用总线31设置为高阻态,以释放总线;
6.数字信号处理器1对控制器局域网总线控制器3发出读指令或写指令,复杂可编程逻辑器件2根据读写指令操作控制器局域网总线控制器3的读写引脚,并通过复杂可编程逻辑器件2内部的数据缓存区实现控制器局域网总线控制器3的复用总线31上的数据和数据总线13之间的信息传递。
这样的流程,保证了ALE触发时间为半个时钟周期的时间,既能保证控制器局域网总线3触发时间的要求也尽量短的占用总线。
在适当的时间,将数字信号处理器1发出的RD、WR信号转发给控制器局域网总线3,并保证在数字信号处理器1的读写周期内,完成对控制器局域网总线3的操作。
示例:
PROCESS(CLKOUT_DSP,ADD_BUS,SJA_ALE)
VARIABLECAN_BUF:BUS08:="ZZZZZZZZ";
BEGIN
ifCLKOUT_DSP'eventandCLKOUT_DSP='1'then
ifADD_BUS(8to15)="11111111"then
SJA_ALE<='1';
CAN_BUF:=BUS_CONV1(ADD_BUS);
elsifADD_BUS(8to15)="00001111"then
SJA_ALE<='0';
CAN_BUF:="ZZZZZZZZ";
else
SJA_ALE<=SJA_ALE;
CAN_BUF:=CAN_BUF;
endif;
endif;
ifCLKOUT_DSP'eventandCLKOUT_DSP='0'then
ifSJA_ALE='1'then
CAN_BUS<=CAN_BUF;
else
CAN_BUS<="ZZZZZZZZ";
endif;
endif;
ENDPROCESS;
代码说明:ADD_BUS指DSP地址信号,CAN_BUF指CPLD内部定义的寄存器,CAN_BUS指SJA1000复用总线,BUS_CONV1指16位转8位函数。
类似的,为了满足控制器局域网总线3读操作对RD信号和总线时序的要求,并且保证整个读的过程能够满足数字信号处理器1对读操作的时序要求,也要利用了同步时钟的上升沿和下降沿去分别触发RD信号和总线。
示例:
PROCESS(CLKOUT_DSP,RD_ENZ,SJA_ALE,ADD_BUS)
VARIABLECAN_BUF:BUS08:="ZZZZZZZZ";
BEGIN
ifCLKOUT_DSP'eventandCLKOUT_DSP='1'then
ifADD_BUS(8to15)="00001111"andSJA_ALE='0'andRD_ENZ='0'then
SJA_CSZ<='0';
SJA_RDZ<='0';
else
SJA_CSZ<='Z';
SJA_RDZ<='Z';
endif;
endif;
ifCLKOUT_DSP'eventandCLKOUT_DSP='0'then
ifSJA_ALE='0'andSJA_RDZ='0'then
DATA_BUS<=BUS_CONV3(CAN_BUS);
else
DATA_BUS<="ZZZZZZZZZZZZZZZZ";
endif;
endif;
ENDPROCESS;
代码说明:DATA_BUS指DSP数据总线,BUS_CONV3指8位转16函数。
对SJA1000进行写的操作,流程相同。
Claims (2)
1.一种采用复杂可编程逻辑器件扩展数字信号处理器端口的方法,采用复杂可编程逻辑器件分离控制器局域网总线控制器中的数据总线和地址总线,数字信号处理器(1)通过地址总线(11)和数据总线(13)分别连接地址锁存器(12)和数据锁存器(14),地址锁存器(12)和数据锁存器(14)都通过复用总线(31)连接控制器局域网总线控制器(3),
其特征是:复用总线(31)上还串联有复杂可编程逻辑器件(2),按如下步骤依次进行:
a.使用数字信号处理器(1)的时钟输出信号来作为同步时钟;
b.使用复杂可编程逻辑器件(2)同步时钟的上升沿去触发数字信号处理器(1)地址信号;
c.在复杂可编程逻辑器件(2)同步时钟的上升沿触发了数字信号处理器(1)地址信号后,复杂可编程逻辑器件(2)接收到数字信号处理器(1)地址信号高八位为FF时先将地址触发信号拉高,同时把数字信号处理器(1)的地址信号存入复杂可编程逻辑器件(2)的缓冲区中;
d.在同周期的时钟下降沿将复杂可编程逻辑器件(2)的缓冲区中的地址信号传输到控制器局域网总线控制器(3)的复用总线(31)上;
e.在复杂可编程逻辑器件(2)同步时钟的上升沿触发了数字信号处理器(1)地址信号后,当复杂可编程逻辑器件(2)上升沿触发到数字信号处理器(1)地址信号的高八位是F0时,就将地址触发信号拉低,这时控制器局域网总线控制器(3)的复用总线(31)仍然输入缓冲区中的地址信号,以使地址触发信号的下降沿有效地触发数字信号处理器(1)发出的地址信号;
f.在同周期的时钟的下降沿,把控制器局域网总线控制器(3)的复用总线(31)设置为高阻态,以释放总线;
g.在复杂可编程逻辑器件(2)将地址触发信号拉低后一个时钟周期的上升沿,将数字信号处理器(1)的读信号或写信号传递给控制器局域网总线控制器(3);
h.如果是读信号,在和复杂可编程逻辑器件(2)同步时钟上升沿所对应的下降沿时将控制器局域网总线控制器(3)的复用总线(31)数据经数据缓冲区传递给数据锁存器(12),如果是写信号,在和复杂可编程逻辑器件(2)同步时钟上升沿所对应下降沿将数据锁存器(12)信息经数据缓冲区传递给复用总线(31);
i.在复杂可编程逻辑器件(2)于时钟周期的上升沿检测到数字信号处理器(1)读写周期结束,取消对控制器局域网总线控制器(3)的读写指令,清除数据缓冲区,释放控制器局域网总线控制器(3)的复用总线(31)。
2.如权利要求1所述的采用复杂可编程逻辑器件扩展数字信号处理器端口的方法,其特征是:控制器局域网总线控制器(3)采用SJA1000型控制器局域网总线控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110076912.3A CN102722143B (zh) | 2011-03-29 | 2011-03-29 | 采用复杂可编程逻辑器件扩展数字信号处理器端口的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110076912.3A CN102722143B (zh) | 2011-03-29 | 2011-03-29 | 采用复杂可编程逻辑器件扩展数字信号处理器端口的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102722143A CN102722143A (zh) | 2012-10-10 |
CN102722143B true CN102722143B (zh) | 2016-01-20 |
Family
ID=46947944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110076912.3A Expired - Fee Related CN102722143B (zh) | 2011-03-29 | 2011-03-29 | 采用复杂可编程逻辑器件扩展数字信号处理器端口的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102722143B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487438A (zh) * | 2015-11-26 | 2016-04-13 | 中国电子科技集团公司第十八研究所 | 一种can总线控制器sja1000与dsp的接口控制方法 |
CN109976898B (zh) * | 2017-12-27 | 2022-11-08 | 上海大郡动力控制技术有限公司 | 分层任务系统的SPI与Eeprom异步通讯方法 |
CN109245637A (zh) * | 2018-11-16 | 2019-01-18 | 庸博(厦门)电气技术有限公司 | 伺服驱动器任意分频输出方法及伺服驱动器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201184197Y (zh) * | 2007-11-29 | 2009-01-21 | 中国石油天然气集团公司 | 一种用于三分量感应测井的数据采集电路 |
CN101419440A (zh) * | 2008-11-03 | 2009-04-29 | 天津理工大学 | 基于dsp的多层循环式立体车库控制电路及其工作方法 |
CN101752617A (zh) * | 2009-08-28 | 2010-06-23 | 重庆长安汽车股份有限公司 | 基于ccp协议的bms标定模块 |
-
2011
- 2011-03-29 CN CN201110076912.3A patent/CN102722143B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201184197Y (zh) * | 2007-11-29 | 2009-01-21 | 中国石油天然气集团公司 | 一种用于三分量感应测井的数据采集电路 |
CN101419440A (zh) * | 2008-11-03 | 2009-04-29 | 天津理工大学 | 基于dsp的多层循环式立体车库控制电路及其工作方法 |
CN101752617A (zh) * | 2009-08-28 | 2010-06-23 | 重庆长安汽车股份有限公司 | 基于ccp协议的bms标定模块 |
Also Published As
Publication number | Publication date |
---|---|
CN102722143A (zh) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100437541C (zh) | 一种串行外设接口的实现方法 | |
CN102253913B (zh) | 一种对多板卡端口进行状态获取和输出控制的装置 | |
CN101931580B (zh) | Arinc 659背板数据总线接口芯片片上系统 | |
CN105573951B (zh) | 一种针对数据流传输的ahb总线接口系统 | |
JP2002530744A5 (zh) | ||
CN103210384B (zh) | 用于在处理器模块之间传输数据的方法和电路装置 | |
CN106909425A (zh) | 一种dsp和fpga系统在线升级方法 | |
CN102722143B (zh) | 采用复杂可编程逻辑器件扩展数字信号处理器端口的方法 | |
CN103490959A (zh) | 一种双冗余can总线故障检测方法 | |
CN103092806A (zh) | 基于spi数据传输时序的数据传输方法和系统 | |
CN110334046A (zh) | 一种spi全双工的通信方法、装置及系统 | |
CN101329589A (zh) | 一种低功耗读写寄存器的控制系统及方法 | |
CN105045746A (zh) | 一种接口扩展装置 | |
CN102419739A (zh) | 多主总线仲裁共享装置以及仲裁方法 | |
CN102369694B (zh) | 用于传感器-驱动器系统的可配置状态的处理单元 | |
CN102750254A (zh) | 高速高带宽ahb总线到低速低带宽ahb总线的双向转换桥 | |
CN103631314B (zh) | 去除电平信号中毛刺的方法 | |
CN107370651A (zh) | 一种spi从机之间的通信方法 | |
US8041868B2 (en) | Bus relay device and bus control system including bus masters, interconnect section, and bridge section | |
CN108710587B (zh) | 基于axi总线的信号处理fpga通用处理架构系统 | |
CN101025772A (zh) | 一种时分隔离的数据交换方法及其装置 | |
CN102799549A (zh) | 一种多源端口的数据处理方法及装置 | |
CN201378316Y (zh) | 通用输入/输出接口扩展电路和具有该电路的移动终端 | |
CN111522769B (zh) | 一种多线程spi通信数据传输方法 | |
CN1728107A (zh) | 用于数字信号处理器的实时调试装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160120 Termination date: 20180329 |