0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用XC95l08可編程邏輯器件來實(shí)現(xiàn)微控制器之間的通信

牽手一起夢 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-01-08 16:02 ? 次閱讀

在現(xiàn)代汽車電子中,一般有多個(gè)微控制器共同協(xié)調(diào)工作。DSP控制器采用哈佛結(jié)構(gòu),運(yùn)算速度快,所以在汽車電子中廣泛采用DSP芯片來實(shí)現(xiàn)汽車動(dòng)力系統(tǒng)的控制。ARM是一種32位微控制器,有豐富的外擴(kuò)接口,因此在汽車電子中一般用ARM來實(shí)現(xiàn)大容最的數(shù)據(jù)存儲(chǔ)和人機(jī)交互或GPS全球定位系統(tǒng),故在DSP和ARM之間需要進(jìn)行數(shù)據(jù)交換。

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

1 、整體系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

DSP2407A負(fù)責(zé)采集汽車所有的數(shù)據(jù),再將數(shù)據(jù)通過CPLD發(fā)給S3C44B0進(jìn)行數(shù)據(jù)存儲(chǔ)和人機(jī)交互。有時(shí)S3C4480要接收觸摸屏命令,命令也通過CPLD發(fā)給DSP2407A控制器,從而控制整臺(tái)汽車的動(dòng)作。對DSP2407A,要及時(shí)響應(yīng)由S3C44B0發(fā)過來的命令;而對于S3C4480,要隨時(shí)接收DSP2407A送來的數(shù)據(jù),這樣,雙方通信的實(shí)時(shí)性就要很強(qiáng)。因此在系統(tǒng)設(shè)計(jì)中,DSP2407A用中斷方式接收數(shù)據(jù),S3C44BO用查詢方式接收數(shù)據(jù)。

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

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

利用XC95l08可編程邏輯器件來實(shí)現(xiàn)微控制器之間的通信

2、CPLD的設(shè)計(jì)

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

2.1 8位數(shù)據(jù)從DSP中傳送到ARM中

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

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

利用XC95l08可編程邏輯器件來實(shí)現(xiàn)微控制器之間的通信

2.2 8位數(shù)據(jù)從83CA480中傳送到DSP2407A中

當(dāng)S3C4480向CPLD寫數(shù)據(jù)時(shí),將數(shù)據(jù)寫入到鎖存器sram2中,同時(shí)置dsp_int為0,通知DSP2407A產(chǎn)生一個(gè)外部中斷,可以從CPLD中取數(shù)據(jù);置armsign_write為0,表示CPLD中已有數(shù)據(jù),S3C4480不能再向CPLD中寫數(shù)據(jù)。[page]

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

利用XC95l08可編程邏輯器件來實(shí)現(xiàn)微控制器之間的通信

3 、S3C4480和DSP2407A通信軟件設(shè)計(jì)

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

(1)DSP2407A程序

利用XC95l08可編程邏輯器件來實(shí)現(xiàn)微控制器之間的通信

(2)S3C44B0程序

利用XC95l08可編程邏輯器件來實(shí)現(xiàn)微控制器之間的通信

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7395

    瀏覽量

    150632
  • cpld
    +關(guān)注

    關(guān)注

    32

    文章

    1245

    瀏覽量

    169059
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16031

    瀏覽量

    176650
收藏 人收藏

    評論

    相關(guān)推薦

    Xilinx可編程邏輯器件的高級應(yīng)用與設(shè)計(jì)技巧絕版教程

    約束設(shè)計(jì)與時(shí)序分析6.1 概述6.2 時(shí)序約束6.3 約束編輯6.4 時(shí)序分析6.5 本章小結(jié)第7章 可編程邏輯器件的高級設(shè)計(jì)7.1 概述7.2 宏生成器7.3 增量設(shè)計(jì)7.4 模塊化設(shè)計(jì)7.5
    發(fā)表于 02-27 14:43

    可編程邏輯器件

    可編程邏輯器件到底是干什么用的呢,簡單的說,就是通過重新寫程序,重新注入到這個(gè)器件中達(dá)到實(shí)現(xiàn)其它的功能。最常見的當(dāng)屬電腦了。電腦本身除了加法,減法和簡單的邏輯運(yùn)算四種。比如要是想
    發(fā)表于 04-15 10:02

    可編程邏輯器件發(fā)展歷史

    可編程邏輯器件(prog ramm able logic device,PLD)件的功能不是固定不變的,它可根據(jù)用戶的需要而進(jìn)行改變,即由編程的方法確定器件
    發(fā)表于 02-26 10:08

    PLD可編程邏輯器件

    PLD可編程邏輯器件 英文全稱為:programmable logic device 即 PLD。PLD是做為一種通用集成電路產(chǎn)生的,他的邏輯功能按照用戶對器件編程
    發(fā)表于 07-22 09:05

    可編程邏輯器件設(shè)計(jì)

    可編程邏輯器件設(shè)計(jì) (264頁,nlc格式)
    發(fā)表于 03-25 16:41 ?66次下載

    可編程邏輯器件基礎(chǔ)及應(yīng)用實(shí)驗(yàn)指導(dǎo)書

    可編程邏輯器件基礎(chǔ)及應(yīng)用實(shí)驗(yàn)指導(dǎo)書 《可編程邏輯器件基礎(chǔ)及應(yīng)用》是一門側(cè)重掌握可編程邏輯器件的基本結(jié)構(gòu)和原理的課程。重點(diǎn)是使學(xué)生掌握基于可編程
    發(fā)表于 03-24 14:22 ?29次下載

    什么是PLD(可編程邏輯器件)

    什么是PLD(可編程邏輯器件) PLD是可編程邏輯器件(Programable Logic Device)的簡稱,F(xiàn)PGA是現(xiàn)場可編程門陣列(Field Programable Gate Array)
    發(fā)表于 06-20 10:32 ?2.4w次閱讀
    什么是PLD(<b class='flag-5'>可編程邏輯器件</b>)

    基于可編程邏輯器件的數(shù)字電路設(shè)計(jì)

    基于可編程邏輯器件的數(shù)字電路設(shè)計(jì)  0 引 言   可編程邏輯器件PLD(Programmable Logic De-vice)是一種數(shù)字電路,它可以由用戶進(jìn)行編程和進(jìn)行配置,
    發(fā)表于 11-16 10:46 ?1586次閱讀
    基于<b class='flag-5'>可編程邏輯器件</b>的數(shù)字電路設(shè)計(jì)

    EDA技術(shù)與應(yīng)用(可編程邏輯器件)

    7.1 可編程邏輯器件的基本原理 7.2 可編程邏輯器件的設(shè)計(jì)技術(shù) 7.3 可編程邏輯器件編程與配置
    發(fā)表于 05-23 10:46 ?142次下載
    EDA技術(shù)與應(yīng)用(<b class='flag-5'>可編程邏輯器件</b>)

    可編程邏輯器件與單片機(jī)構(gòu)成的雙控制器

    可編程邏輯器件與單片機(jī)構(gòu)成的雙控制器
    發(fā)表于 01-12 22:11 ?11次下載

    可編程邏輯器件(書皮)

    可編程邏輯器件(書皮)
    發(fā)表于 07-10 14:34 ?0次下載

    可編程邏輯器件EPLD是如何設(shè)計(jì)的

    可編程邏輯器件(Electrically Programmable Logic Device,EPLD)是指采用電信號的可擦可編程邏輯器件。
    發(fā)表于 08-22 18:12 ?1307次閱讀

    可編程邏輯器件的結(jié)構(gòu)

    常見的可編程邏輯器件分為FPGA、EPLD(CPLD)。下面簡單介紹兩類器件的結(jié)構(gòu)和區(qū)別。
    的頭像 發(fā)表于 03-24 14:18 ?1082次閱讀
    <b class='flag-5'>可編程邏輯器件</b>的結(jié)構(gòu)

    可編程邏輯器件測試

    可編程邏輯器件 (Programmable Loeie Device,PLD)是一種用戶編程實(shí)現(xiàn)某種邏輯功能的邏輯
    發(fā)表于 06-06 15:37 ?626次閱讀
    <b class='flag-5'>可編程邏輯器件</b>測試

    什么叫可編程邏輯器件 可編程邏輯器件有哪些特征和優(yōu)勢?

    可編程邏輯器件(Programmable Logic Device,PLD)是一類集成電路器件,可以根據(jù)用戶的需求進(jìn)行編程和配置,以實(shí)現(xiàn)特定的邏輯
    發(fā)表于 09-14 15:25 ?2466次閱讀