www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]嵌入式電網(wǎng)分析儀中雙CPU間的通信

1 引言
    在我國目前電力緊缺的形勢下,監(jiān)控電力以確保安全用電非常重要。對(duì)電網(wǎng)分析儀的研究和改造一直是當(dāng)前研究的熱點(diǎn)。如果電網(wǎng)分析儀采用一個(gè)DSP,既采樣計(jì)算電網(wǎng)參數(shù),又負(fù)責(zé)控制部分的運(yùn)轉(zhuǎn),由于在實(shí)際應(yīng)用中要求DSP處理的信息可能很多,工作量很大,這樣將會(huì)影響分析儀的處理速度,降低其工作效率。因此,這里提出一種新一代的電網(wǎng)分析儀,采用DSP和AVR單片機(jī)構(gòu)成雙CPU處理器平臺(tái),并充分利用DSP處理大容量數(shù)據(jù)和復(fù)雜算法的能力.以及單片機(jī)接口的控制能力。ATmegal28單片機(jī)負(fù)責(zé)外圍電路控制,包括開關(guān)量輸出報(bào)警與控制、監(jiān)測輸入開關(guān)量、模擬量的輸出、與上位機(jī)的通信以及計(jì)時(shí)和存儲(chǔ)參數(shù),參數(shù)是由TMS320F2812 DSP采樣計(jì)算獲得,計(jì)算完成后,DSP將數(shù)據(jù)傳送給AVR單片機(jī),而監(jiān)測的參數(shù)也由用戶預(yù)先設(shè)置后再經(jīng)DSP傳輸。


2 SPI通信
    根據(jù)系統(tǒng)設(shè)計(jì)需求,DSP和AVR單片機(jī)之間需SPI接口數(shù)據(jù)總線實(shí)現(xiàn)數(shù)據(jù)傳輸。SPI是一種串行總線的外設(shè)接口.只需4根總線就可與外設(shè)相連,而且SPI是一種真正的同步方式,兩臺(tái)設(shè)備在同一個(gè)時(shí)鐘下工作嘲。正是由于SPI通信占用的接口線少,通信效率高,并且這兩款:DSP與AVR單片機(jī)都支持SPI接口,因而SPI通信是目前一種較好的設(shè)計(jì)方案。
    由于DSP與AVR單片機(jī)的數(shù)據(jù)寄存器都是移位寄存器,當(dāng)有數(shù)據(jù)從一個(gè)寄存器移出時(shí),則另一端有數(shù)據(jù)移入.當(dāng)移完8位,一次SPI通信結(jié)束。不同的是ATmegal28在通信過程中接收和發(fā)送的數(shù)據(jù)始終在一個(gè)寄存器SPDR中,因此才有同時(shí)收發(fā)。而DSP的收發(fā)寄存器是分開的,發(fā)送數(shù)據(jù)用SPITXBUF,接收數(shù)據(jù)用SPIRXBUF,8位的數(shù)據(jù)從AVR的SPDR移入DSP的SPIRXBUF,同時(shí)DSP的SPITXBUF又向AVR的SPDR移入數(shù)據(jù),SPDR每移出1位,其本身也移進(jìn)1位,相應(yīng)DSP中的SPIRXBUF移入1位。SPITXBUF移出1位,從而完成16位環(huán)形移位。DSP與AVR的SPI連接如圖1所示,其中XXXX為片選信號(hào),低電平有效。

3 器件選型
3.1 TMS320F2812簡介
    TMS320F281x系列DSP是TI公司推出的數(shù)字信號(hào)處理器,該系列處理器是基于TMS320C2xx內(nèi)核的定點(diǎn)數(shù)字信號(hào)處理器,內(nèi)部集成有多種先進(jìn)的外設(shè),為電機(jī)及其他運(yùn)動(dòng)控制應(yīng)用實(shí)現(xiàn)提供良好平臺(tái)。TMS320F2812的150 MI/s的處理速度可滿足快速的處理大量數(shù)據(jù)和算法的要求。
    TMS320F2812具有豐富的外設(shè)模塊:128 K的Flash程序存儲(chǔ)器.多達(dá)128 K的ROM,2個(gè)事件管理器模塊,具有看門狗定時(shí)器模塊(WDT)、串行通信接口(SCI)、串行外設(shè)接口(SPI),外設(shè)中斷擴(kuò)展模塊支持45個(gè)外設(shè)中斷。
3.2 ATmega128簡介
    AVR單片機(jī)是8位,RISC結(jié)構(gòu)的單片機(jī)。而ATmegal28屬于AVR中配置最高的器件,可達(dá)16 MI/s/MHz的性能,其內(nèi)部集成:128 K的Flash程序存儲(chǔ)器,4 K的EEPROM和4 K的SRAM。2個(gè)串行通信接口(USART),1個(gè)8位的TWI(I2C)總線接口,1個(gè)串行外設(shè)接口(SPI),53個(gè)通用I/O端口,4個(gè)定時(shí),計(jì)數(shù)器,因此足夠滿足該系統(tǒng)設(shè)計(jì)所需的控制功能。
3.3 74LVC4245簡介
    由于TMS320F2812與ATmegal28的邏輯電平不同,TMS320F2812的邏輯高電平是3.3 V,而ATmegal28的邏輯高電平是5 V,需連接一個(gè)電平轉(zhuǎn)換器,這里選用74LVC4245。74LVC4245是3.3 V和5 V兩種電平連接時(shí)的電平轉(zhuǎn)換器,提供了8路輸入和8路輸出。通過74LV4245的DIR引腳控制信號(hào)的傳輸方向,將其傳輸方向始終置為B到A,其OE引腳控制器件使能或處于隔離狀態(tài)。

[!--empirenews.page--]
4 系統(tǒng)硬件設(shè)計(jì)
    圖2為系統(tǒng)硬件設(shè)計(jì)電路圖。其中,SCK為時(shí)鐘信號(hào),用來為SPI提供時(shí)鐘脈沖,SS為片選信號(hào),當(dāng)SS拉低時(shí),SPI觸發(fā),DSP與AVR之間實(shí)現(xiàn)通信。MOSI是主出從入。對(duì)于主機(jī)來說,由MOSI引腳輸出數(shù)據(jù);對(duì)于從機(jī)來說,則是由MOSI引腳輸入數(shù)據(jù);而MISO則相反,是主人從出引腳,對(duì)于主機(jī),是由MISO腳輸人數(shù)據(jù),對(duì)于從機(jī),從MISO引腳輸出數(shù)據(jù)。主機(jī)還可通過復(fù)位引腳在必要的條件下(如主機(jī)復(fù)位時(shí))使從機(jī)復(fù)位。
    由于ATmegal28的MISO引腳是向外發(fā)送,與其他4個(gè)引腳不同,而74LVC4245方向是B到A,因此該引腳接法不同于其他引腳,需要通過一只分壓電阻,并使用一個(gè)二極管將其電壓箝位于3.3 V。

5 系統(tǒng)軟件設(shè)計(jì)
5.1 通信協(xié)議
    兩個(gè)設(shè)備實(shí)現(xiàn)通信,首先規(guī)定傳輸數(shù)據(jù)的協(xié)議。根據(jù)需求,主機(jī)應(yīng)向從機(jī)發(fā)送計(jì)算數(shù)據(jù)以及配置信息,從機(jī)向主機(jī)發(fā)送報(bào)警狀態(tài)以及應(yīng)答,以告知發(fā)送方消息是否正確接收,如圖3所示。

    DSP與AVR單片機(jī)之間的通信協(xié)議采用內(nèi)部制定的SPI通信協(xié)議。表1列出了TMS320F2812與ATmegal28之間通信的3種數(shù)據(jù)格式,接收方以起始碼辨別幀的類別。參數(shù)類型代表不同參數(shù),如“0x01”表示設(shè)置時(shí)間。如:3D 01 0008 0A 0A 00 11 14 00 A2 FC,因?yàn)?x3D是“=”的ASCII碼,則該幀表示一個(gè)數(shù)據(jù)幀,參數(shù)類型為0x01,可知這是一個(gè)設(shè)置時(shí)間的數(shù)據(jù)幀,最后2位是CRC校驗(yàn)碼,中間剩余的序列"00 08 0A 0A 00 11 14 00"為參數(shù),即時(shí)間,設(shè)置時(shí)間為08年10月10日17點(diǎn)20分O秒,使參數(shù)為4xN字節(jié)是為了保持與上一代產(chǎn)品相兼容,當(dāng)從機(jī)接收后并校驗(yàn)正確后,將設(shè)置好時(shí)間并返回表示正確的應(yīng)答幀。

5.2 SPI初始化
    TMS320F2812的初始化包括:配置I/O端口為具有SPI特殊功能的接口,選定主從機(jī),數(shù)據(jù)傳送模式、波特率和發(fā)送接收數(shù)據(jù)長度,所有設(shè)置都是通過設(shè)計(jì)相應(yīng)的SPI控制寄存器實(shí)現(xiàn)。
    ATmegal28的初始化與TMS320F12812相似,不同的是,由于ATmegal28是從機(jī),因此不用選擇波特率,同時(shí)應(yīng)該注意的是,數(shù)據(jù)傳送模式應(yīng)保持與主機(jī)一致。數(shù)據(jù)傳送模式有4種,是由設(shè)置控制寄存器里的CPOL和CPHA來設(shè)定的,如表2所示。[!--empirenews.page--]

    TMS320F2812的SPI通信未采用中斷方式.因?yàn)樗侵饕l(fā)送者,當(dāng)ATmegal28有數(shù)據(jù)發(fā)送來時(shí),通過外部中斷得知。ATmegal28是采用中斷方式,當(dāng)有數(shù)據(jù)發(fā)送來時(shí),進(jìn)入SPI中斷,開始接收數(shù)據(jù)。
5.3 DSP的接收和發(fā)送
    以下為DSP接收數(shù)據(jù)的程序代碼:

   
    其中.SpiaRegs.SPISTS.bit.INT_FLAG是接收完成標(biāo)志位。當(dāng)一個(gè)字節(jié)傳送完畢后.SpiaRegs.SPISTS.bit.INT_FLAG置1.由于TMS320F2812的SPI數(shù)據(jù)寄存器是16位的,因此取低8位即為所接收的數(shù)據(jù)。
    以下為DSP的發(fā)送數(shù)據(jù)的程序代碼:

    void DSP_Spi_Write_Byte(Uchar Byte_Out) //向SPI總線發(fā)送1個(gè)字節(jié)
    { Byte_Out=(Byte_Out<<8)&0xFF00;//發(fā)送時(shí)高8位有效while(SpiaRegs.SPISTS.bit.BUFFULL_FLAG=1); //fFXBUF里有數(shù)據(jù).還沒被移走

    SpiaRegs.SPIT_XBUF=Byte_Out;
    }
    同理.當(dāng)DSP發(fā)送數(shù)據(jù)時(shí).首先判斷緩存里的數(shù)據(jù)是否有被移走,一旦判斷數(shù)據(jù)移走,馬上將要發(fā)送的數(shù)據(jù)寫入緩存。
5.4 AVR的發(fā)送和接收


    SPIF是發(fā)送完成標(biāo)志,當(dāng)SPDR里的數(shù)據(jù)發(fā)送完后,SPIF置1,此時(shí)可向SPDR寫數(shù)據(jù)。注意AVR單片機(jī)向DSP發(fā)送數(shù)據(jù)前先向DSP發(fā)送一個(gè)中斷信號(hào)。ATmegal28接收數(shù)據(jù)采用中斷方式完成數(shù)據(jù)接收,中斷程序的流程圖如4所示。


6 注意事項(xiàng)
    (1)拉低片選信號(hào)SS后,需延時(shí)再發(fā)送數(shù)據(jù)。由于邏輯電平的不同,應(yīng)在TMS320F2812與ATmegal28之間加電平轉(zhuǎn)換器74LV4245,當(dāng)主機(jī)將片選信號(hào)拉低后。由于74LVC4245的存在,兩者不能立即工作,會(huì)產(chǎn)生一個(gè)延時(shí),因此在軟件編程中,需要加一個(gè)延時(shí)函數(shù)。一般來說延時(shí)1μs就足夠了。
    (2)AVR往SPDR寫數(shù)據(jù)時(shí),SS被拉高。一般來說,兩個(gè)MCU之間的數(shù)據(jù)傳輸不會(huì)只有1個(gè)字節(jié)。在設(shè)計(jì)中,當(dāng)從機(jī)向主機(jī)發(fā)送數(shù)據(jù)時(shí),當(dāng)主機(jī)接收完第一個(gè)字節(jié)后,如果不將片選信號(hào)SS拉高.則會(huì)造成從機(jī)不能將數(shù)據(jù)寫入寄存器內(nèi),主機(jī)也不能正確接收數(shù)據(jù),這樣造成數(shù)據(jù)丟失、錯(cuò)誤。因此,每接收完一個(gè)字節(jié)主機(jī)都要將丙拉高.待從機(jī)寫入數(shù)據(jù)后,再將SS拉低,這樣數(shù)據(jù)才能夠正確傳輸。


7 結(jié)語
    實(shí)驗(yàn)證明.SPI通信完成TMS320F2812與ATmegal28之間的通信完全滿足系統(tǒng)需求。因?yàn)镾PI時(shí)序簡單,傳輸速度快,占用的接口線少,簡化了系統(tǒng)設(shè)計(jì)。同時(shí)運(yùn)用雙CPU設(shè)計(jì)系統(tǒng),增強(qiáng)了系統(tǒng)的實(shí)時(shí)處理能力,減輕主CPU負(fù)擔(dān),提高了產(chǎn)品的性能。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

經(jīng)過幾十年發(fā)展,嵌入式技術(shù)已經(jīng)用在了我們生活中的方方面面,但是嵌入式始終都帶有小眾,專業(yè)性強(qiáng)的屬性,讓很多非嵌入式領(lǐng)域的同學(xué)望而卻步。近十幾年的發(fā)展,物聯(lián)網(wǎng)覆蓋了越來越多領(lǐng)域,包括了家居,商業(yè),工業(yè),農(nóng)業(yè)等領(lǐng)域,不僅吸引...

關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 技術(shù)

隨著IT技術(shù)飛速發(fā)展,互聯(lián)網(wǎng)已經(jīng)進(jìn)入了“物聯(lián)網(wǎng)”時(shí)代。物聯(lián)網(wǎng)中需要的大量設(shè)備不在依賴人與人之間的交互產(chǎn)生聯(lián)系,更多通過協(xié)議、通信、程序設(shè)計(jì)等方式連接到一處。即 “物聯(lián)網(wǎng)”的目的則是讓所有的物品都具有計(jì)算機(jī)的智能但并不以通...

關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計(jì)算機(jī)

互聯(lián)網(wǎng)內(nèi)容的主要介質(zhì)在過去的幾十年中完成了從文字到圖片再到視頻的轉(zhuǎn)變。在不斷變化中,一以貫之的是人們對(duì)體驗(yàn)更好,更真實(shí)、更豐富網(wǎng)絡(luò)生活的追求。如今,視頻和游戲內(nèi)容都在向著更高刷新率與分辨率的方向發(fā)展,終端設(shè)備也在積極普及...

關(guān)鍵字: 元宇宙 Wi-Fi 7 通信

最近看到APP上,給我推送了很多類似的回答,借此機(jī)會(huì),也想著重新審視一下自己的學(xué)習(xí)歷程,以及結(jié)合自身和大牛,分享一些學(xué)習(xí)經(jīng)驗(yàn),希望對(duì)大家有所啟發(fā)和幫助。

關(guān)鍵字: APP 嵌入式 C語言

此前,印度政府曾在推特上公布“國家寬帶使命”計(jì)劃,并表示將于今年10月1日在印度正式推出5G服務(wù),引發(fā)了不少網(wǎng)友的關(guān)注。然而,近日CNMO了解到,此條推文現(xiàn)已被刪除。業(yè)內(nèi)人士表示,印度可能尚未準(zhǔn)備好從10月1日開始推出5...

關(guān)鍵字: 印度 5G 通信

萬物智聯(lián)時(shí)代,嵌入式技術(shù)及其應(yīng)用的形態(tài)將更加豐富和多元,同時(shí)也將日益呈現(xiàn)深度物理融合、混合架構(gòu)共存、群體智能協(xié)同、網(wǎng)絡(luò)安全攸關(guān)等諸多新的計(jì)算特性。顯然,經(jīng)典的嵌入式系統(tǒng)體系結(jié)構(gòu)、軟硬件技術(shù)和開發(fā)方法都已很難應(yīng)對(duì)新趨勢下的...

關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計(jì)算機(jī)

物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分,是互聯(lián)網(wǎng)與嵌入式系統(tǒng)發(fā)展到高級(jí)階段的融合。通用計(jì)算機(jī)經(jīng)歷了從智慧平臺(tái)到互聯(lián)網(wǎng)的獨(dú)立發(fā)展道路;嵌入式系統(tǒng)則經(jīng)歷了智慧物聯(lián)到局域智慧物聯(lián)的獨(dú)立發(fā)展道路。

關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 計(jì)算機(jī)

北京2022年10月8日 /美通社/ -- 日前,全球領(lǐng)先的IT基礎(chǔ)設(shè)施提供商浪潮信息加入龍蜥社區(qū)并成為理事單位,致力于攜手社區(qū)生態(tài)伙伴,共同推動(dòng)開源操作系統(tǒng)的全產(chǎn)業(yè)鏈協(xié)同創(chuàng)新和產(chǎn)業(yè)化應(yīng)用。 龍蜥社區(qū)成立于2020...

關(guān)鍵字: 開源 操作系統(tǒng) 通信 大數(shù)據(jù)

(全球TMT2022年10月8日訊)IT基礎(chǔ)設(shè)施提供商浪潮信息加入龍蜥社區(qū)并成為理事單位,致力于攜手社區(qū)生態(tài)伙伴,共同推動(dòng)開源操作系統(tǒng)的全產(chǎn)業(yè)鏈協(xié)同創(chuàng)新和產(chǎn)業(yè)化應(yīng)用。 龍蜥社區(qū)成立于2020年9月,是國內(nèi)...

關(guān)鍵字: 操作系統(tǒng) 開源 通信 裝機(jī)量

今天,小編將在這篇文章中為大家?guī)砉た刂靼宓挠嘘P(guān)報(bào)道,通過閱讀這篇文章,大家可以對(duì)工控主板具備清晰的認(rèn)識(shí),主要內(nèi)容如下。

關(guān)鍵字: 工控主板 嵌入式 主板

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉