亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SPI和單片機技術(shù)在嵌入式系統(tǒng)擴展中的應(yīng)用

        2016-03-22 05:36:36江漢大學(xué)文理學(xué)院信息技術(shù)學(xué)部鄧乃君
        電子世界 2016年2期
        關(guān)鍵詞:擴展單片機技術(shù)嵌入式系統(tǒng)

        江漢大學(xué)文理學(xué)院信息技術(shù)學(xué)部 鄧乃君 吳 文

        ?

        SPI和單片機技術(shù)在嵌入式系統(tǒng)擴展中的應(yīng)用

        江漢大學(xué)文理學(xué)院信息技術(shù)學(xué)部鄧乃君吳文

        【摘要】隨著計算機技術(shù)、電子技術(shù)的快速發(fā)展,芯片制造成本明顯降低,嵌入式系統(tǒng)在移動設(shè)備、數(shù)碼產(chǎn)品等各個領(lǐng)域廣泛應(yīng)用。文中基于SPI接口集成外圍單片機的方法對嵌入式系統(tǒng)功能進行擴展,詳細闡述整個擴展方案的結(jié)構(gòu)及工作原理,重點介紹Linux環(huán)境下外圍設(shè)備驅(qū)動程序的運行方法,以期為類似開發(fā)程序提供重要參考。

        【關(guān)鍵詞】SPI;單片機技術(shù);嵌入式系統(tǒng);擴展

        近些年,對各類嵌入式系統(tǒng)進行設(shè)計中,對系統(tǒng)的存儲、通信需求提出更高的要求。嵌入式產(chǎn)品具有個性化、人性化的特征,從而受到更多商家和消費者的歡迎,促使嵌入式設(shè)備的市場競爭更加激烈。傳統(tǒng)的嵌入式系統(tǒng)外部接口比較滯后,導(dǎo)致嵌入式系統(tǒng)中擴展外部設(shè)備有一定的困難。雖然芯片技術(shù)的發(fā)展提供具有強大功能的SOC層,其集成的功能、接口更加豐富,但其開發(fā)費用、生產(chǎn)成本極高,在市場競爭中逐漸喪失價格優(yōu)勢。與片上系統(tǒng)比較,單片機的運算能力不理想,但其價格低、開發(fā)周期短,能夠基于用戶需求對其功能進行靈活調(diào)整,單片機的優(yōu)勢更加明顯。文中根據(jù)SPI接口、外圍單片機提出嵌入式系統(tǒng)功能擴展方法,通過 SPI在主CPU外圍集成單片機,借助單片機完成嵌入式系統(tǒng)的功能擴展。

        1 嵌入式系統(tǒng)擴展方案及工作原理

        嵌入式系統(tǒng)的擴展方案的設(shè)備主要包括主CPU、單片機、外圍設(shè)備三個部分,主CPU借助SPI接口實現(xiàn)與單片機交互數(shù)據(jù),通過單片機已有的IO口、UART等接口擴展一系列串口、紅外接口各項外圍設(shè)備。外圍數(shù)據(jù)經(jīng)單片機處理后借助SPI總線發(fā)送至主CPU。反之,主CPU想要訪問外圍設(shè)備也要借助SPI總線發(fā)送給單片機,通過單片機程序完成對外圍設(shè)備的訪問操作。系統(tǒng)結(jié)構(gòu)如圖1所示。

        圖1 系統(tǒng)功能結(jié)構(gòu)簡圖

        SPI接口也稱為外圍接口,數(shù)據(jù)傳遞速度相比I2C總線更快,能夠?qū)崿F(xiàn)主CPU與多個外圍器件傳輸數(shù)據(jù)信息的目的。SPI接口工作方式為主從模式,需要設(shè)計一個主機和一個多個從器件傳送數(shù)據(jù)。本次設(shè)計中,主CPU是以單主單從的模式與外圍單面機完成點對點通信。具體應(yīng)用過中,可以依據(jù)實際需求通過SPI總線在外圍集成相對應(yīng)的單片機控制單元,從而集成大量的外圍設(shè)備。因其實際應(yīng)用領(lǐng)域的差異,根據(jù)開發(fā)的SPI協(xié)議與單片機固件程序合理調(diào)整外圍設(shè)備,在并未增加大量制造成本和開發(fā)工作量的基礎(chǔ)上,完成對嵌入式系統(tǒng)功能的擴展操作。同時,外圍控制單片機能夠?qū)λ屑稍O(shè)備采集的信息進行相應(yīng)的前置處理,能夠分擔(dān)主CPU運算壓力,提升整個嵌入系統(tǒng)的響應(yīng)效率。

        2 外圍驅(qū)動程序結(jié)構(gòu)及運行機制

        本系統(tǒng)所用的設(shè)備驅(qū)動程序基于Linux系統(tǒng)下進行設(shè)計,在Linux系統(tǒng)中,外部設(shè)備被抽象稱作文件,對文件開展的各項操作也是對外部設(shè)備的操作,上述機制被稱作虛擬文件系統(tǒng)。設(shè)備驅(qū)動程序是連接上層用戶程序與機器硬件的重要接口,能夠屏蔽硬件設(shè)備各項具體操作,把具體的硬件設(shè)備抽象為設(shè)備文件提供給用戶程序,促使應(yīng)用程序能夠像普通文件一樣對硬件設(shè)備實施讀寫操作。設(shè)備驅(qū)動程序主要任務(wù)在于對設(shè)備及資源進行釋放,讀取并會送程序發(fā)出的信息,實現(xiàn)用戶空間、內(nèi)核空間與物理層之間的數(shù)據(jù)傳遞。Linux環(huán)境下LED驅(qū)動程序代碼如下:

        #define DEVICE_NAME "leds" //加載模式后,執(zhí)行”cat /proc/devices”命令看到的設(shè)備名稱 //

        #define LED_MAJOR 231 /* 主設(shè)備號 //

        應(yīng)用程序執(zhí)行ioctl(fd, cmd, arg)時的第2個參數(shù) */

        #define IOCTL_LED_OFF 1

        /* 用于指定LED所用的GPIO引腳 //

        static unsigned long led_table [] = {

        S3C2410_GPB5,

        S3C2410_GPB7,

        ······

        }。

        本次設(shè)計的擴展方法,主CPU借助SPI接口與外圍單片機完成通信。對外圍設(shè)備驅(qū)動程序進行設(shè)計時,設(shè)置SPI通信、單片機控制兩個細節(jié),把單片機所集成的外圍設(shè)備與主CPU集成本地設(shè)備中,便于用戶程序進行讀寫操作。2.1本地系統(tǒng)設(shè)備驅(qū)動程序?qū)崿F(xiàn)過程

        主CPU能夠直接集成本地串口設(shè)備及外圍單片機擴展的串口、IO設(shè)備等驅(qū)動實現(xiàn)過程。從本地設(shè)備驅(qū)動來說,驅(qū)動程序?qū)τ布O(shè)備展開的操作直接定義至接口函數(shù)內(nèi),如果用戶程序訪問設(shè)備文件,接口函數(shù)執(zhí)行對硬件設(shè)備的讀寫等操作。如果用戶程序借助串口驅(qū)動定義的接口函數(shù)對本次串口文件展開訪問操作,驅(qū)動核心會把用戶發(fā)出的請求傳遞至本地串口,通過該串口驅(qū)動底層定義硬件函數(shù)把串口數(shù)據(jù)發(fā)送至硬件設(shè)備,達到最佳的通信目的。

        2.2SPI協(xié)議及外圍擴展設(shè)備實現(xiàn)過程

        SPI協(xié)議就是串行外圍設(shè)備結(jié)構(gòu),主要應(yīng)用在AD轉(zhuǎn)換器、數(shù)字信號處理器、解碼器、實時時鐘之間,是需在芯片關(guān)節(jié)占用四根線,是一種高速的,全雙工的通信總線。SPI通信原理比較簡單,主要包括ss(cs)、sck、sdi、sdo構(gòu)成,基于SCK控制下,兩個雙向移位寄存器展開數(shù)據(jù)交換操作。因SPI總線接口主要占用微處理器4個I/O口線,使用SPI總線接口能有限監(jiān)護電力設(shè)計,節(jié)省大量常規(guī)電路接口器件及I/O口線,提升整個設(shè)計的可靠性。下文介紹SPI子程序設(shè)計代碼:

        //首先定義好I/O口

        sbit SDO=P1^0;

        sbit SDI=P1^1;

        ······

        sbit ACC_7= ACC^7;

        unsigned int SpiRead(unsigned char add)

        {

        unsigned int datal6;

        add&=0x3f;/*6位地址*/

        add |=0x80;/*讀取操作碼l0*/

        SDO=1;/*發(fā)送1為起始位*/

        SCK=0;

        for(i=0;<8;i++)/*發(fā)送操作碼和地址*/

        {

        if(add&0x80==1)

        SDO=1;

        SCK=0;/*從設(shè)備上升沿接收數(shù)據(jù)*/

        add<<= 1;

        }

        SCK=1;/*從設(shè)備時鐘線下降沿后發(fā)送數(shù)據(jù),空讀1位數(shù)據(jù)*/

        datal6<<= 1;/*讀16位數(shù)據(jù)*/

        {

        SCK= 1;

        datal6|=0x01;

        SCK =0;

        datal6< < =1;

        return datal6;

        }

        在單片機內(nèi)集成的外圍設(shè)備,因主CPU無法對其展開直接的硬件操作,其訪問過程比較復(fù)雜。SPI通信協(xié)議棧主要包括SPI基本驅(qū)動和虛通道協(xié)議棧兩部分,SPI基本驅(qū)動協(xié)議中設(shè)定SPI數(shù)據(jù)包純屬速度、糾錯方法等協(xié)議,確保SPI數(shù)據(jù)包能夠在主CPU與單片機進行順利傳輸。SPI虛通道協(xié)議棧設(shè)定每一個外擴展設(shè)備的數(shù)據(jù)格式、功能碼等協(xié)議,便于對SPI數(shù)據(jù)包展開解析、封裝操作.

        驅(qū)動程序虛通道協(xié)議棧作為外圍設(shè)備的硬件驅(qū)動在,主要由外擴展設(shè)備數(shù)據(jù)處理、重點響應(yīng)等內(nèi)容。上述虛擬硬件驅(qū)動通過調(diào)用協(xié)議棧虛擬的通道實現(xiàn)在用戶與SPI硬件接口對數(shù)據(jù)進行傳遞。從單片機集成的外圍串口來說,這種外圍串口能與本地串口使用同一個串口驅(qū)動核心實施封裝,虛擬成為與本次串口相同的串口設(shè)備為用戶程序提供服務(wù)。本地串口驅(qū)動層能直接執(zhí)行串口硬件范圍操作,該虛擬硬件驅(qū)動并不執(zhí)行各項硬件操作,僅調(diào)用協(xié)議棧虛擬的數(shù)據(jù)通道向SPI硬件傳遞數(shù)據(jù),通過外圍單片機完成接收或發(fā)送串口數(shù)據(jù)的目的。

        3 結(jié)束語

        總之,對嵌入式系統(tǒng)功能進行擴展設(shè)計中,本次設(shè)計通過SPI接口集成外圍單片機的方法設(shè)計嵌入式系統(tǒng)擴展方案,詳細介紹整個擴展方案的工作原理,重點闡述在Linux環(huán)境下外圍驅(qū)動體系的接口及實現(xiàn)過程,這種擴展方案成為實現(xiàn)串口、通信接口等擴展功能,對改善外圍接口資源不足的問題做出重要貢獻。

        參考文獻

        [1]米書田,王濤,張然等.基于單片機及嵌入式系統(tǒng)管理煤炭存儲的探究[J].煤炭技術(shù),2013,32(2):240-242.

        [2]秦磊,孫曼,王小亮等.CH395與 SPI 接口的以太網(wǎng)模塊設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2015,15(7): 61-64.

        [3]陳宇珂,鄭理華,張興安,等.ATMEL AVR單片機SPI大容量Flash Rom擴展的實現(xiàn)[J].醫(yī)療衛(wèi)生裝備,2015,36(4):19-21,68.

        [4]朱德良,吳國強,陳新春等.一種單片機多任務(wù)操作系統(tǒng)的設(shè)計與應(yīng)用[J].自動化與儀表,2014,29(1):50-52.

        [5]湯沁,徐學(xué)軍,彭地卓等.基于Linux嵌入式系統(tǒng)的S3C6410和ADS1298R的SPI接口驅(qū)動的實現(xiàn)[J].中國新通信,2014,9(1):79-80,81.

        [6]蔡紅專,劉強,陳琎等.嵌入式系統(tǒng)中基于SPI協(xié)議的SD卡擴展實現(xiàn)[J].微型機與應(yīng)用,2014,33(19):23-26.

        鄧乃君(1993—),男,湖北武漢人,現(xiàn)就讀江漢大學(xué)文理學(xué)院信息技術(shù)學(xué)部,從事嵌入式系統(tǒng)的開發(fā)與研究。

        作者簡介:

        猜你喜歡
        擴展單片機技術(shù)嵌入式系統(tǒng)
        淺談數(shù)據(jù)挖掘和自適應(yīng)算法的應(yīng)用
        多維傳播語境下的播音主持功能與拓展研究
        基于物聯(lián)網(wǎng)項目驅(qū)動的嵌入式系統(tǒng)教學(xué)改革的研究與實踐
        嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實踐及啟示
        計算機教育(2016年7期)2016-11-10 08:31:34
        面向?qū)嵺`創(chuàng)新人才培養(yǎng)的嵌入式系統(tǒng)教學(xué)研究
        計算機教育(2016年7期)2016-11-10 08:12:11
        單片機技術(shù)在多機通信系統(tǒng)設(shè)計中的應(yīng)用
        試論單片機技術(shù)在電氣傳動系統(tǒng)的應(yīng)用
        恒溫晶體振蕩器調(diào)頻范圍擴展思考
        單片機課堂教學(xué)探究
        在DiskOnChip上構(gòu)建VxWorks系統(tǒng)開發(fā)環(huán)境
        国产激情在观看| 亚洲欧美日韩中文字幕一区二区三区| 国产婷婷色综合av蜜臀av| 亚洲熟妇少妇69| 美女福利一区二区三区在线观看| 日韩一区二区三区熟女| 日韩精品真人荷官无码| 夜夜揉揉日日人人| 国产极品喷水视频| 国产精品一区二区三区四区亚洲| 国产精品黄色av网站| 一区二区三区高清在线观看视频| 亚洲国产精品久久人人爱| 在线国产小视频| 最新国产av网址大全| 国内久久婷婷六月综合欲色啪| 亚洲女初尝黑人巨高清| 亚洲国产夜色在线观看| 国产视频在线播放亚洲| 狠狠cao日日橹夜夜十橹| 精品国产sm捆绑最大网免费站| 四虎影视久久久免费| 欧美日韩电影一区| 偷拍激情视频一区二区| 在线观看视频日本一区二区| 亚洲av片一区二区三区| 无码日韩人妻AV一区免费| 午夜婷婷国产麻豆精品| 十八禁视频在线观看免费无码无遮挡骂过 | 六月婷婷亚洲性色av蜜桃| 风流老熟女一区二区三区| 亚洲红怡院| 国产伦一区二区三区久久| 国色天香社区视频在线| 精品香蕉久久久爽爽| 日本一区二区三区小视频| 亚洲少妇一区二区三区老| 国产成人亚洲精品无码青| 亚洲欧美日韩国产综合一区二区 | 免费现黄频在线观看国产| 亚洲粉嫩av一区二区黑人|