<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于XC95108芯片實現DSP和ARM的并行通信系統的設計

電子設計 ? 來源:單片機與嵌入式系統應用 ? 作者:謝曉輝 , 吳森 ? 2021-06-23 14:43 ? 次閱讀

在現代汽車電子中,一般有多個微控制器共同協調工作。DSP控制器采用哈佛結構,運算速度快,所以在汽車電子中廣泛采用DSP芯片來實現汽車動力系統的控制。ARM是一種32位微控制器,有豐富的外擴接口,因此在汽車電子中一般用ARM來實現大容最的數據存儲和人機交互或GPS全球定位系統,故在DSP和ARM之間需要進行數據交換。

CPLD(Complex Programmable Logic Device)是一種復雜的用戶可編程邏輯器件,由于采用硬件可編程技術,從而使沒計硬件電路也像設計軟件一樣方便。DSP2407A是T1公司設計的一款專為滿足大范圍的數字電動機控制應用的微控制器。S3C4480是三星公司專為手持設備設計的高性價比的微控制器。本設計以Xilinx公司的XC95108為例,通過在CPLD中開辟2塊獨立的SRAM區域(各1字節)來實現DSP2407A與S3C4480的并行通信。采用這種通信方式,數據傳輸準確、高速,基本可以滿足DSP2407A與S3C4480總線接口實時通信的要求,從而將整車動力控制和人機交互有機地統一起來。

1 整體系統結構設計

DSP2407A負責采集汽車所有的數據,再將數據通過CPLD發給S3C44B0進行數據存儲和人機交互。有時S3C4480要接收觸摸屏命令,命令也通過CPLD發給DSP2407A控制器,從而控制整臺汽車的動作。對DSP2407A,要及時響應由S3C44B0發過來的命令;而對于S3C4480,要隨時接收DSP2407A送來的數據,這樣,雙方通信的實時性就要很強。因此在系統設計中,DSP2407A用中斷方式接收數據,S3C44BO用查詢方式接收數據。

在DSP2407A中,[DO~D7]是數據線,[A15~A12]是地址線,IS是I/0空間選通引腳,當訪問外部的存儲器或I/O空間時為低電平。WE是寫使能,RD是讀使能。IOPC7足通用I/O引腳,用來判斷DSP2407A是否可以往CPLD寫數據。當IOPC7為低電平時,代表DSP2407A可以往CPLD中寫數據;若為高電平,則表示CPLD中已有數據,這時DSP2407A不能往CPLD中寫數據。XINT1是外部中斷,用來通知DSP2407A準備讀取CPLD中的數據。

在CPLD中,用l片XC95l08來實現。XC95108共有108個宏單元,有足夠的空間來實現2個8位的SRAM區;主要用來實現DSP2407A和S3C44B0之間的數據交換,沒置DSP2407A和S3C44B0讀/寫控制的狀態位。在S3C44B0中’[D0~D7]是數據線,nGCSl是芯片選擇信號,當存儲器地址在相應段的地址區域時芯片被激活。nWE是寫允許信號,nOE是讀允許信號。IOPF0是通用I/O口,用來監視可否從CPLD中讀取數據:當它為高電平時,代表CPLD中有數據,可以讀取數據;當它為低電平時。表示CPLD中無數據可讀取。IOPF1是通用I/O口,用來監視可否向CPLD中寫數據:當它為高電平時,代表CPLD中無數據,可以向CPLD中寫數據;當它為低電平時,代表CPLD中已有數據,S3C44B0不能向CPLD中寫數據。系統結構如圖1所示。

pYYBAGDS2QmAWAJaAAD54uwKWwI505.png

2 CPLD的設計

采用Xilinx ISE8.1為設計工具,用國際上通用的VHDL語言來編寫源程序。

2.1 8位數據從DSP中傳送到ARM中

當[A15~A12]是1100時,DSP2407A開始向CPLD中寫數據,并置dspsign_write和armsign_read為1;表示CPLD中已經有數據了,通知S3C4480可以讀取數據和DSP2407A暫時不能向CPLD中寫數據;同時將數據寫入鎖存器sraml中。

當ARM發出讀取數據信號,開始將數據從sraml中讀出,并且置dspsign_write和armsign_read為0時,表示CPLD中沒有數據了,DSP2407A可以向CPLD中重新寫數據。

poYBAGDS2QKADFhHAAD8nVxu4pM973.png

2.2 8位數據從83CA480中傳送到DSP2407A中

當S3C4480向CPLD寫數據時,將數據寫入到鎖存器sram2中,同時置dsp_int為0,通知DSP2407A產生一個外部中斷,可以從CPLD中取數據;置armsign_write為0,表示CPLD中已有數據,S3C4480不能再向CPLD中寫數據。

當[A15~12]是1101時,DSP2407A向CPLD中發出一個讀取信號,數據從鎖存器sram2傳送給DSP2407A中,并且置dsp_int為1,armsign_write為l,表示數據已被DSP2407A讀走,S3C4480可以繼續向CPLD中寫數據。

pYYBAGDS2PuAdZuoAACltOvBI2k288.png

3 S3C4480和DSP2407A通信軟件設計

在本程序中,DSP2407A采用中斷方式接收數據,S3C4480采用查詢端口方式接收數據。

(1)DSP2407A程序

pYYBAGDS2PSAP7ZyAAGlGr3MZcY144.png

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    447

    文章

    48292

    瀏覽量

    411479
  • cpld
    +關注

    關注

    32

    文章

    1243

    瀏覽量

    168477
  • 通信系統
    +關注

    關注

    6

    文章

    1084

    瀏覽量

    53102
收藏 人收藏

    評論

    相關推薦

    FPGA+DSP+ARM開發板

    本帖最后由 eehome 于 2013-1-5 09:56 編輯 XC5VLX330大型FPGA開發驗證平臺ARM + DSP + FPGA高級通信
    發表于 12-25 15:47

    DSP并行處理平臺

    `產品特點基于ZYNQ+并行DSP處理架構處理架構十分靈活,能夠滿足各類并行加速需求支持OpenCL編程,方便算法移植系統處理靈活:FPGA或DSP
    發表于 06-08 10:33

    什么是基于FPGA的ARM并行總線?

    在數字系統的設計中,FPGA+ARM系統架構得到了越來越廣泛的應用,FPGA 主要實現高速數據的處理;ARM 主要
    發表于 09-17 06:21

    怎么實現ARM/DSP雙核系統通信接口的設計?

    本文介紹了使用ARMDSP雙CPU構成的雙核嵌入式系統的硬件平臺,以及源代碼開放的Linux作為嵌入式系統中操作系統的方法,給出了
    發表于 05-26 06:21

    如何用CPLD實現DSP2407A與S3C4480的通信?

    本設計以Xilinx公司的XC95108為例,通過在CPLD中開辟2塊獨立的SRAM區域(各1字節)來實現DSP2407A與S3C4480的并行通信
    發表于 06-03 07:06

    如何實現arm與多DSP之間的通信問題呢求解

    ARM主要是用來實現系統控制和網絡傳輸,要如何來實現arm與多DSP之間的
    發表于 04-18 09:28

    XC9572和XC95108 DIY CPLD實驗板的PCB

    描述XC9572和XC95108 DIY CPLD實驗板的PCB該板需要外部 JTAG 電纜來對器件進行編程。JTAG 電纜可以是傳統計算機并行端口或現代 USB JTAG 編程器。一條并行
    發表于 08-05 07:09

    基于VxWorks的多DSP并行處理系統實現

    基于VxWorks的多DSP并行處理系統實現
    發表于 03-29 12:31 ?17次下載

    在HP 3070系列檢測器上的XC95216和XC95108

    在HP 3070系列檢測器上的XC95216和XC95108的快速擦除時間
    發表于 05-13 14:52 ?34次下載
    在HP 3070系列檢測器上的<b class='flag-5'>XC</b>95216和<b class='flag-5'>XC95108</b>

    在HP 3070系列檢測器上的XC95216和XC95108

    for the XC95216 and XC95108. The revision 1 designation is delineated by a 1 in the 4 msb of the JTAG ID register. FBULK groups togethe
    發表于 05-15 14:01 ?3次下載

    DSP/ARM雙核系統通信接口設計

    DSP/ARM雙核系統通信接口設計  嵌入式系統的核心是嵌入式微處理器和嵌入式操作系統
    發表于 12-21 17:00 ?1633次閱讀
    <b class='flag-5'>DSP</b>/<b class='flag-5'>ARM</b>雙核<b class='flag-5'>系統</b>的<b class='flag-5'>通信</b>接口設計

    主機口(HPI)在基于DSPARM系統中的應用

    摘要:嵌入式系統DSP的結合是當前應用領域的一個趨勢。HPI接口是TI高性能DSP上配置的與主機進行通信的片內外設。由于HPI具有獨立的管腳,因而可
    發表于 02-27 22:31 ?42次下載

    ARMDSP雙核系統中的通信接口設計_趙學亮

    ARMDSP雙核系統中的通信接口設計_趙學亮
    發表于 07-01 17:35 ?7次下載

    ARM芯片通過HPI接口與DSP通信的接口技術

    在許多硬件系統設計中,廣泛采用了主機+DSP的方式。其中主機與DsP之間如何進行有效的通信就 顯得尤其的重要。本文 以SAMSUNG公 司的ARM
    發表于 07-05 15:15 ?6次下載

    XC9572和XC95108 DIY CPLD實驗板的PCB

    電子發燒友網站提供《XC9572和XC95108 DIY CPLD實驗板的PCB.zip》資料免費下載
    發表于 07-22 11:33 ?6次下載
    <b class='flag-5'>XC</b>9572和<b class='flag-5'>XC95108</b> DIY CPLD實驗板的PCB
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>