• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      USB和SD接口復(fù)用設(shè)計(jì)

      2014-04-29 07:06:51朱國鐘
      電子世界 2014年19期

      朱國鐘

      【摘要】便攜小音箱一般包括模擬音頻輸入AUX、外放喇叭、SD卡接口、USB接口和按鍵。在實(shí)際使用中,一般不會(huì)同時(shí)進(jìn)行USB和SD通信,如果能夠?qū)SB接口和SD接口的引腳復(fù)用起來,節(jié)省2個(gè)引腳,那么用8pin封裝的主控來實(shí)現(xiàn)便攜小音箱功能,將會(huì)是一個(gè)非常有價(jià)值的解決方案。

      【關(guān)鍵詞】USB;SD卡;分時(shí)復(fù)用;插入檢測

      1.引言

      隨著電子技術(shù)的發(fā)展,應(yīng)用需求的迅速膨脹,終端芯片的集成功能越來越多,導(dǎo)致芯片引出管腳不斷增加。另一方面,為減少封裝成本和制造成本,生產(chǎn)商對(duì)封裝成本和應(yīng)用成本的控制是越來越嚴(yán)格,這就要求減少封裝引腳數(shù)目。顯然人們的需求和成本是矛盾的。

      在消費(fèi)電子領(lǐng)域,便攜小音箱因?yàn)轶w積小、音效好、功能全、使用方便等特點(diǎn),廣受消費(fèi)者的歡迎。便攜小音箱一般包括模擬音頻輸入AUX、外放喇叭、SD卡接口、USB接口和按鍵。為了支持這些功能,便攜小音箱的主控芯片一般包括1個(gè)AUX輸入引腳、3個(gè)SD卡接口引腳、2個(gè)USB接口引腳、1個(gè)DAC輸出引腳、1個(gè)按鍵檢測引腳,2個(gè)電源引腳,共10個(gè)引腳。常見的16pin封裝對(duì)這種功能需求,顯得冗余。為了節(jié)省主控芯片成本,去選擇8pin封裝時(shí)候,又無法完全實(shí)現(xiàn)便攜小音箱的功能需求。

      當(dāng)前消費(fèi)電子產(chǎn)品的USB接口和SD接口與MCU的連接關(guān)系如圖1所示。

      圖1 現(xiàn)有USB/SD接口結(jié)構(gòu)示意圖

      便攜小音箱在實(shí)際使用中,一般不會(huì)同時(shí)進(jìn)行USB和SD通信,如果能夠?qū)SB接口和SD接口的引腳復(fù)用起來,節(jié)省2個(gè)引腳,那么用8pin封裝的主控來實(shí)現(xiàn)便攜小音箱功能,將會(huì)是一個(gè)非常有價(jià)值的解決方案。

      2.USB和SD接口復(fù)用硬件電路

      如圖2所示,本文以便攜小音箱的應(yīng)用方案為例,描述一種USB和SD接口復(fù)用電路設(shè)計(jì),包括MCU主控芯片,USB接口和SD接口。MCU主控芯片包括CPU,SD模塊,USB模塊,定時(shí)器,電平檢測模塊,通用輸入輸出引腳IOA、IOB、IOC和IOD,復(fù)用控制模塊;USB接口包括第一數(shù)據(jù)引腳USB_DM和第二數(shù)據(jù)引腳USB_DP;SD接口包括命令引腳SD_CMD、時(shí)鐘引腳SD_CLK、數(shù)據(jù)引腳SD_DATA、插入檢測引腳SD_DET;SD_CLK引腳和IOA引腳連接,SD_DAT引腳和IOB引腳連接,SD_CMD引腳和IOC引腳連接,SD_DET引腳與IOD引腳連接;USB_DM和USB_DP分別與IOA和IOB兩個(gè)引腳連接。

      復(fù)用控制模塊用于控制SD模塊、USB模塊、電平檢測模塊和通用輸入輸出引腳IOA、IOB、IOC、IOD的連接關(guān)系;SD模塊通過復(fù)用控制模塊,和通用輸入輸出引腳IOA、IOB、IOC連接; USB模塊通過復(fù)用控制模塊,和通用輸入輸出引腳IOA、IOB連接;電平檢測模塊通過服用控制模塊,和通用輸入輸出引腳IOA、IOB、IOD連接。

      3.USB和SD接口復(fù)用軟件控制流程

      為了實(shí)現(xiàn)USB和SD接口復(fù)用方法,MCU軟件需要設(shè)置6個(gè)USB接口狀態(tài),6個(gè)SD接口狀態(tài)和3個(gè)工作流程。接口狀態(tài)如圖3所示。

      6個(gè)USB接口狀態(tài):USB離線狀態(tài)、USB在線狀態(tài)、USB掛起狀態(tài)、USB激活狀態(tài)、USB空閑狀態(tài)、USB通信狀態(tài)。USB離線狀態(tài)和USB在線狀態(tài)同一時(shí)間只有一個(gè)狀態(tài)有效,USB在線狀態(tài)為USB掛起狀態(tài)和USB激活狀態(tài)的前提條件。USB掛起狀態(tài)和USB激活狀態(tài)同一時(shí)間最多只有一個(gè)狀態(tài)有效,USB激活狀態(tài)為USB空閑狀態(tài)和USB通信狀態(tài)的前提條件。USB空閑狀態(tài)和USB通信狀態(tài)同一時(shí)間最多只有一個(gè)狀態(tài)有效。

      圖3 USB/SD 工作狀態(tài)示意圖

      6個(gè)SD接口狀態(tài):SD離線狀態(tài)、SD在線狀態(tài)、SD掛起狀態(tài)、SD激活狀態(tài)、SD空閑狀態(tài)、SD通信狀態(tài)。SD離線狀態(tài)和USB在線狀態(tài)同一時(shí)間只有一個(gè)狀態(tài)有效,SD在線狀態(tài)為SD掛起狀態(tài)和SD激活狀態(tài)的前提條件。SD掛起狀態(tài)和SD激活狀態(tài)同一時(shí)間最多只有一個(gè)狀態(tài)有效,SD激活狀態(tài)為SD空閑狀態(tài)和SD通信狀態(tài)的前提條件。SD空閑狀態(tài)和SD通信狀態(tài)同一時(shí)間最多只有一個(gè)狀態(tài)有效。

      USB激活狀態(tài)和SD激活狀態(tài)同一時(shí)間最多只有一個(gè)狀態(tài)有效。

      利用CPU,SD模塊,USB模塊,定時(shí)器,電平檢測模塊,通用輸入輸出引腳IOA、IOB、IOC和IOD,復(fù)用控制模塊等硬件結(jié)構(gòu),配合軟件操作流程,實(shí)現(xiàn)USB和SD接口檢測切換流程。

      下面舉例說明具體實(shí)現(xiàn)檢測切換的過程及步驟。

      假設(shè)通電開機(jī)時(shí),沒有插入SD卡和U盤,開機(jī)后先插入SD卡播放,再插入U(xiǎn)盤播放。

      開機(jī)后,USB接口和SD接口均處于離線狀態(tài)。軟件設(shè)置使能定時(shí)器每50ms產(chǎn)生一次中斷。CPU進(jìn)入定時(shí)中斷子程序后,按既定流程檢測USB接口和SD接口的連接情況。根據(jù)檢測的結(jié)果,設(shè)置USB接口和SD接口的狀態(tài)。

      插入SD卡后,定時(shí)器產(chǎn)生定時(shí)中斷,CPU執(zhí)行如下檢測和設(shè)置步驟:(1)流程a檢測“USB是否處于通信狀態(tài)”。USB不在通信狀態(tài),進(jìn)入流程b;(2)流程b檢測“SD是否處于通信狀態(tài)”。SD卡不在通信狀態(tài),進(jìn)入流程c;(3)流程c檢測“USB是否處于空閑狀態(tài)”。USB不在空閑狀態(tài),進(jìn)入流程d;(4)流程d檢測“SD是否處于空閑狀態(tài)”。SD不在空閑狀態(tài),進(jìn)入流程e;(5)流程e檢測“SD是否處于掛起狀態(tài)”。SD不在掛起狀態(tài),進(jìn)入流程o;(6)流程o檢測“SD是否在線”。此時(shí)已經(jīng)插入SD卡,SD卡在線,進(jìn)入流程p;(7)流程p里面,CPU配置復(fù)用控制模塊,建立SD模塊和IOA、IOB、IOC的連接。設(shè)置SD接口為激活狀態(tài),進(jìn)入流程s;(8)退出中斷子程序后,根據(jù)音箱系統(tǒng)的需要,進(jìn)行SD通信。

      此后,再插入U(xiǎn)盤。定時(shí)器產(chǎn)生定時(shí)中斷,CPU執(zhí)行如下檢測和設(shè)置步驟:(1)流程a檢測“USB是否處于通信狀態(tài)”,USB不在通信狀態(tài),進(jìn)入流程b;(2)流程b檢測“SD是否處于通信狀態(tài)”,如果SD卡處于通信狀態(tài),則退出中斷子程序,等待定時(shí)器再次中斷,如果SD卡不處于通信狀態(tài),因?yàn)镾D接口已經(jīng)被激活,則必然處于空閑狀態(tài),進(jìn)入流程c;(3)流程c檢測“USB是否處于空閑狀態(tài)”,USB不在空閑狀態(tài),進(jìn)入流程d;(4)流程d檢測“SD是否處于空閑狀態(tài)”,SD接口處于空閑狀態(tài),進(jìn)入流程k;(5)流程k檢測“USB是否處于掛起狀態(tài)”,USB不在掛起狀態(tài),進(jìn)入流程l;(6)流程l里面,為了避免USB檢測動(dòng)作影響SD模塊和SD卡,將SD設(shè)置為掛起狀態(tài),再檢測“USB是否在線”,此時(shí)U盤已經(jīng)插入在線,進(jìn)入流程m;(7)流程m將USB設(shè)置為激活狀態(tài)后,進(jìn)入流程s;(8)退出中斷子程序后,根據(jù)音箱系統(tǒng)的需要,進(jìn)行USB通信。

      對(duì)于先插入U(xiǎn)盤,再插入SD卡的情況,可以參考上述過程,實(shí)現(xiàn)在線檢測和狀態(tài)設(shè)置。

      如果SD接口正處于激活狀態(tài),SD卡也仍然連接在線,系統(tǒng)需要進(jìn)行SD通信時(shí),CPU執(zhí)行如下步驟:(1)流程a檢測SD卡是否在線。因?yàn)镾D沒有被拔出,進(jìn)入流程b;(2)流程b里面,將SD接口設(shè)置為通信狀態(tài)。然后進(jìn)入流程c,開始SD通信;(3)SD通信結(jié)束后,進(jìn)入流程d;(4)流程d將SD接口設(shè)置為空閑狀態(tài)后,進(jìn)入流程f,退出SD通信流程。

      如果USB接口正處于激活狀態(tài),但U盤已經(jīng)被拔出。當(dāng)系統(tǒng)嘗試再進(jìn)行USB通信時(shí),CPU執(zhí)行如下步驟:(1)流程a檢測USB盤是否在線,因?yàn)閁盤已經(jīng)被拔出離線,進(jìn)入流程e;(2)流程e將USB接口設(shè)置為離線狀態(tài)后,進(jìn)入流程f,退出USB通信流程。

      結(jié)合上述硬件電路和軟件流程,即可實(shí)現(xiàn)USB接口和SD卡接口的分時(shí)復(fù)用功能。

      4.總結(jié)

      本文所述的USB和SD接口復(fù)用電路,通過配置MCU主控芯片內(nèi)復(fù)用控制模塊控制設(shè)定和通用輸入輸出接口狀態(tài),配合軟件的處理流程,分時(shí)復(fù)用IOA、IOB、IOC、IOD引腳,進(jìn)行USB通信或SD通信。SD設(shè)備和USB設(shè)備插拔動(dòng)作和連線狀態(tài),都不會(huì)干擾當(dāng)前正在使用的USB設(shè)備或者SD設(shè)備。與現(xiàn)有設(shè)計(jì)相比,在不影響MCU主控芯片應(yīng)用功能的同時(shí)減少了引腳數(shù)量需求,降低產(chǎn)品的生產(chǎn)成本。

      參考文獻(xiàn)

      [1]單片機(jī)接口技術(shù).

      [2]SD Specifications Part 1 Physical Layer Specification Revision3.01.

      [3]Universal Serial Bus Specification Revision 2.0.

      [4]USB開發(fā)大全(第4版).

      [5]新概念51單片機(jī)C語言教程.

      合阳县| 榆社县| 沛县| 萝北县| 青岛市| 额尔古纳市| 清新县| 密山市| 南康市| 边坝县| 翁源县| 奇台县| 基隆市| 页游| 霍州市| 杭锦旗| 东港市| 英超| 永仁县| 高阳县| 昌黎县| 商南县| 嘉义县| 碌曲县| 麻江县| 米脂县| 伊宁市| 文登市| 民县| 神池县| 盐亭县| 确山县| 体育| 双鸭山市| 藁城市| 陆丰市| 苏尼特左旗| 洱源县| 苗栗市| 延津县| 阿拉善左旗|