關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于STM32的MIT-BIH心電數(shù)據(jù)的D/A回放

基于STM32的MIT-BIH心電數(shù)據(jù)的D/A回放

作者: 時(shí)間:2012-02-08 來(lái)源:網(wǎng)絡(luò) 收藏

1.3 USB全速設(shè)備接口
USB外設(shè)接口實(shí)現(xiàn)了USB 2.0全速總線和APB1總線間的接口,為PC主機(jī)和微控制器所實(shí)現(xiàn)的功能之間提供了符合USB規(guī)范的通信連接。PC主機(jī)和微控制器之間通過(guò)共享USB端點(diǎn)緩沖區(qū)來(lái)實(shí)現(xiàn)的傳輸。
芯片內(nèi)部集成了USB外設(shè),大大減輕了USB電路的設(shè)計(jì)負(fù)擔(dān),只需設(shè)計(jì)USB接口電路,就可以實(shí)現(xiàn)芯片的電路板的USB通信設(shè)計(jì)。D/A系統(tǒng)選用的USB硬件接口電路如圖3所示:USB上拉電壓接在D+線上,所以本設(shè)計(jì)USB實(shí)現(xiàn)全速通信,PC機(jī)為USB接口供電。USB+連接在GPIO管腳PA11,USB-連接在GPIO管腳PA12,如圖2所示:

2 固件程序設(shè)計(jì)
固件程序是運(yùn)行于USB設(shè)備中的程序代碼,用于輔助硬件完成USB的功能。該系統(tǒng)固件程序選用的是STM提供的The USB-FS-Device Libra ry固件程序庫(kù)。主要完成如下功能:一是處理USB標(biāo)準(zhǔn)請(qǐng)求和用戶自定義請(qǐng)求;二是根據(jù)USB規(guī)范設(shè)置設(shè)備的各種描述符;三是初始化系統(tǒng)得各級(jí)中斷和內(nèi)部端點(diǎn)的配置。在Keil編譯環(huán)境下,利用現(xiàn)成固件程序框架函數(shù),根據(jù)設(shè)備需求在STM提供的固件程序的框架中添加相應(yīng)的程序代碼,完成本系統(tǒng)的功能目的。
2.1 F103xxUSB固件程序庫(kù)簡(jiǎn)介
STM32F103xxUSB固件程序庫(kù)是意法半導(dǎo)體公司專為STM32F103XX系列ARM微處理器提供的固件程序庫(kù),主要分為內(nèi)核層和應(yīng)用接口層,結(jié)構(gòu)框圖如圖4所示。

本文引用地址:http://m.butianyuan.cn/article/161152.htm

c.jpg


內(nèi)核層:該層管理使用USB IP硬件與USB標(biāo)準(zhǔn)協(xié)議兩者間的直接通信。USB庫(kù)內(nèi)核遵從USB 2.0標(biāo)準(zhǔn)并和標(biāo)準(zhǔn)的STM32F103XX固件庫(kù)分離。
應(yīng)用程序接口層:該層為用戶提供了內(nèi)核和最終應(yīng)用程序之間的完整接口。應(yīng)用接口層和最終應(yīng)用與固件庫(kù)通信來(lái)管理應(yīng)用的硬件需求。
2.2 固件程序的設(shè)計(jì)
在本系統(tǒng)的開(kāi)發(fā)中,沒(méi)有對(duì)內(nèi)核層進(jìn)行深入研究和修改,僅對(duì)應(yīng)用接口層進(jìn)行完成設(shè)備功能需要的設(shè)計(jì)。應(yīng)用層的開(kāi)發(fā)主要包括:系統(tǒng)初始化,主要開(kāi)啟系統(tǒng)和所用外設(shè)的時(shí)鐘;USB時(shí)鐘配置,設(shè)置并使能USB時(shí)鐘,為48 MHz;USB初始化主要是完成USB設(shè)備的枚舉;定時(shí)器模塊配置、DAC和DMA模塊配置主要是完成所用外設(shè)的初始化;最后配置好標(biāo)志位后等待上位機(jī)發(fā)送。所有代碼都是用庫(kù)函數(shù)來(lái)完成的,主程序流程圖如圖5所示。

d.jpg


插入U(xiǎn)SB設(shè)備時(shí),主機(jī)輪回查詢各個(gè)USB端口,檢測(cè)到D+和D-之間有電壓差,會(huì)識(shí)別出有USB設(shè)備的插入,然后對(duì)設(shè)備進(jìn)行枚舉。在設(shè)計(jì)的D/A系統(tǒng)中,枚舉過(guò)程的實(shí)現(xiàn)主要是對(duì)USB設(shè)備的設(shè)備描述符、配置描述符、端口描述符和端點(diǎn)描述符的配置來(lái)實(shí)現(xiàn)的。USB設(shè)備枚舉的過(guò)程就是通過(guò)讀取各個(gè)描述符來(lái)獲取USB設(shè)備的信息,然后將它配置為其中的一種功能。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉