999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于嵌入式的多路肌電信號采集系統的設計

2017-10-18 01:39:12王夢葛斌朱政康師巖琳
生物醫學工程研究 2017年1期
關鍵詞:指令信號系統

王夢,葛斌,朱政康,師巖琳

(上海理工大學醫療器械與食品學院,上海 200093)

1 引 言

肌電信號(electromyographic signal, EMG)是產生肌肉力的電信號根源,是肌肉中許多運動單元動作電位在時間和空間上的疊加,反映了神經、肌肉的功能狀態,在基礎醫學研究、臨床診斷和康復工程中有廣泛的應用[1]。它在人機工效學領域肌肉工作的工效學分析,康復醫學領域的肌肉功能評價以及體育科學中的疲勞判定、運動技術合理性分析、肌纖維類型和在無氧閾值的無損傷性預測等方面均有重要實用價值[2-4]。

早期肌電信號的研究主要集中在對少數獨立通道進行時域和頻域的研究[3]。近年來隨著對人體神經肌肉系統的認識進步和研究的深入,對肌電信號的研究朝多通道、陣列式方向發展。目前通用的單路肌電信號采集儀已經不能滿足醫療診斷的發展要求。肌電信號采集系統的性能瓶頸在于高速采樣數據的實時存儲和上下位機間的數據傳輸能力[4]。多通道的肌電信號要求更高的ADC的采樣吞吐,目前一般采用的微控制器以指令方式控制其執行時序,但微控制器的速度優先,而且一般需要3~4條指令完成一次數據采樣工作,制約了ADC的采樣吞吐[5]。而FPGA具有較高的運行主頻,用于控制底層期間的執行時序,具備良好的接口能力,能最大限度地保證ADC的采樣率[6]。為減少上位機數據存儲處理的時間消耗,提高整體系統的實時性,本研究采用一種獨立于CPU的后臺批量數據傳輸技術(DMA),實現底層數據采集單元與上位機之間的數據交互,解決了多路信號大量采集并實時傳輸的問題。

2 系統的總體設計

系統以Samsung 公司的S3C2440A 微處理器為核心,包含了多路A/D轉換、現場可編程門陣列FPGA、電源電路及其他接口電路等,系統結構見圖1。本研究中FPGA模塊選擇了EP4CE10E22C8N芯片,該芯片的可編程邏輯單元為10kLE。ARM選用了目前性能很高的嵌入式處理器S3C2440A,可在400 MHZ高速頻率下工作,提供4個DMA通道,用于系統總線內部或與外圍總線直接的數據交換,實現了核心板和數據采集部分等硬件電路設計及整個模塊功能測試。

輸入的肌電信號經過放大電路后,通過A/D轉換模塊將模擬肌電信號轉換成16位的數字信號,FPGA對數字信號進行預處理并存儲到雙口RAM中,FPGA同時響應ARM,處理器以DMA方式將數據存儲到RAM中,再通過USB2.0接口依照系統通信協議接受上位機的命令進行相應的數據處理及傳輸。本研究的主要工作集中在ARM與FPGA的實時高速數據傳輸在肌電信號采集的應用上,下面對這部分的設計與實現做一詳細說明。

圖1 多路肌電信號實時傳輸流程圖

2.1 硬件電路設計

S3C2440A芯片開發采用了由ARM公司研發的先進的ARM920T 核心,ARM920T 實現了MMU,AMBA 總線和哈佛結構高速緩沖體系結構。這一結構具有獨立的16KB 指令高速緩存和16KB 數據高速緩存。S3C2440A提供8個Bank,每個Bank 有128M 字節。S3C2440A與外部存儲器相連時,必須先給其分配在一個固定的Bank,本研究將bank1作為FPGA內部RAM映射的空間。ACTEL公司的EP4CE10E22C8N芯片提供對ADC器件的采樣時序控制,將其作為特殊的內存設備掛接到ARM的內存地址空間。FPGA與ARM之間的接口邏輯關系見圖2。S3C2440A通過寫信號線(TXD)向FPGA發送上位機命令,FPGA控制A/D采樣并將采集到的數字信號緩存在雙口RAM中,RAM中寫滿510個字節后,FPGA發出滿信號作為中斷F_INT信號,同時S3C2440A響應中斷F_INT,向FPGA發送片選信號nGCS1。

圖2FPGA與ARM之間的接口邏輯關系圖

Fig2InterfacelogicdiagrambetweenFPGAandARM

為提高總線利用率,需設計數據緩沖來實現不同速率數據傳輸之間的要求。雙口RAM是共享式多端口存儲器,一個存儲器配備兩套獨立的地址、數據和控制線,允許兩個獨立的CPU或控制器同時異步地訪問存儲單元,大大提高了通信效率。本研究采用FPGA來實現雙口RAM的功能可以很好的解決并行性和通信速度問題,前段肌電信號在寫入的同時,ARM可以進行數據的讀取。雙口RAM與ARM總線連接圖見圖3。EP4CE10的數據總線寬度為16位,S3C2440A的數據總線寬度為32位,因此將雙口RAM的地址線addr[8..0]與ARM的地址線的低九位相連,雙口RAM的數據總線與ARM 的數據總線相連。FPGA讀取信號convst高電平有效,雙口RAM的數據輸出q經過一個十六位的三態緩沖器輸出。

圖3 雙口RAM與ARM總線連接圖

Fig3DualportRAMwithARMbusconnectiondiagram

2.2 軟件設計

在以S3C2440A芯片為主控的肌電信號采集系統中,S3C2440A除了要與上位機進行數據傳輸外,還要接受上位機指令進一步對數據進行處理。由于采樣指令數據人為發送,不具有規律性,為了充分利用CPU,提高數據傳輸速度,本系統在使用DMA方式進行肌電數據傳輸的同時,使用USB完成與上位機的數據交換(主要是上位機發送給S3C2440A的采樣指令,見表1)。USB通信的軟件設計主要是通訊數據格式、波特率等的設置,采用中斷模式, 使能FIFO 緩沖區(使用16 字節的接收緩沖區)。

表1 采樣指令

設備驅動程序是操作系統內核和硬件之間的接口,DMA驅動程序設計是控制FPGA與ARM與上位機的數據交換,是一個典型的字符設備驅動程序。DMA驅動程序初始化主要設置相關寄存器,在初始化時要正確設置目標(緩沖區的)首地址、數據傳輸的方向、源寄存器的首地址、地址指針是否遞增以及遞增方向等等。相關代碼以及注釋如下:

#define BUF_SIZE (510) //定義緩存FIFO大小

#define XDREQ0_RD_SRC_ADDR 0x08000000//定義讀取FPGA中數據的緩沖區地址

系統加載后,驅動程序進行初始化,完成相關寄存器及存儲空間的映射。當FPGA采集并存儲在RAM中的肌電數據達到一定數量時,為了避免緩存溢出,ARM要從FPGA模塊中的緩沖區中讀取數字化的肌電數據。本系統中申請IRQ_DMA0中斷服務程序,用來響應FPGA模塊的DMA中斷請求。應用程序響應中斷請求,啟動DMA,發出讀命令將目的地址中的數據取走后,一次讀取操作結束,進行下一次讀取并重復上述過程。部分代碼如下:

staticstructfile_operationsdev_fops = {

.owner = THIS_MODULE,

.open = s3c2410_ad_open,

.release = s3c2410_ad_close,

.read = s3c2410_ad_read,

};

if (request_irq(IRQ_DMA0, s3c_dma0_irq, 0, "DMA0_FPGA", NULL))//申請中斷函數

{

printk("can't request_irq for DMA0 ");

return -EBUSY;

}

/* 分配SRC, DST對應的緩沖區*/

dst0 = dma_alloc_writecombine(NULL, sizeof(unsigned short int)*BUF_SIZE, &dst0_phys, GFP_KERNEL);//目的

if (NULL == dst0)

{

free_irq(IRQ_DMA0, NULL);

dma_free_writecombine(NULL, sizeof(unsigned short int)*BUF_SIZE, dst0, dst0_phys);

printk("can't alloc buffer for dst0 ");

return -ENOMEM;

}

dma0_regs = ioremap(DMA0_BASE_ADDR, sizeof(struct s3c_dma_regs));//將DMA控制寄存器映射到內核空間

dma0_regs->disrc= XDREQ0_RD_SRC_ADDR ;//源的物理地址

dma0_regs->disrcc = (0<<1) | (0<<0); //源位于AHB總線, 源地址遞增 (1<<0)

dma0_regs->didst = dst0_phys; //目的的物理地址

dma0_regs->didstc = (0<<2) | (0<<1) | (0<<0); //目的位于AHB總線, 目的地址遞增

dma0_regs->dcon=(1<<30)|(1<<29)|(0<<28)|(1<<27)|(0<<23)|(0<<22)|(0<<21)|(1<<20)|(BUF_SIZE<<0); //使能中斷,單個傳輸,軟件觸發

dma0_regs->dmasktrig = (1<<1) | (1<<0);//啟動DMA

3 實驗設計與結果分析

3.1 實驗設計

為了驗證本研究介紹的多路肌電信號實時傳輸系統的性能,建立了圖4所示的實驗平臺。本研究設計為6路的肌電信號處理與采集系統,將三組雙路肌電傳感器與AD7976前端的6通道相連,多路數據采集卡通過USB與上位機連接。

圖4 實驗平臺

本研究中,動作設計為雙側上肢彎舉運動和雙側下肢的抬腿運動。具體動作順序和內容如下:(1)彎舉運動,要求受試者兩臂平放于桌面,當聽到指令后保持4 s不動,4 s后發力以肘關節為原點抬起雙側上臂,至上臂垂直于桌面為止;(2)抬腿運動,要求受試者正坐于椅面,當聽到指令后保持4 s不動,4 s后發力以膝關節為原點平抬雙側前腿,至前腿平行于桌面為止。

肌電采集點為受試者兩側上肢的肱二頭肌與肱橈肌和兩側下肢的腓腸肌。采集前使用75%的酒精和一次性電極片自帶細砂紙進行預置電極部位皮膚的去屑去脂肪,再將一次性銀/氯化銀電極雙極放在每一待測肌肉部位的隆起處并與肌纖維走向一致,在緊鄰雙極部位安放一同規格的參考電極。[9]

實驗前實驗人員先給受試者示范和講解要完成的動作,并要求受試者練習若干次直到所做動作具有再現性,然后受試者聽實驗人員口令去執行本實驗設計的動作。

3.2 數據分析

以本系統的采樣定時倍率1,最高采樣率120 kHz為例,設置采樣時間為8 s。開始試驗后8 s,從上位機得到的六路肌電信號圖,見圖5。其中通道1、通道3的采集點分別為上肢左、右側肱二頭肌;通道2、通道4的采集點分別為上肢左、右側肱橈肌;通道5、通道6的采集點分別為下肢左、右側腓腸肌。

圖5六通道肌電信號圖

Fig5Sixchannelselectromyographicsignal

實驗過程中使用Agilent Technologies示波器觀察FPGA發出的中斷F_INT信號和ARM響應的DMA片選地址信號。FPGA控制AD采樣頻率為120 kHz,6個通道同時采樣,FPGA設置每采滿510個點就發出一次中斷F_INT信號,周期t1=510×6*(1/120kHz)≈708 us。見圖6,FPGA采集數字信號周期t1時間內,ARM完成數據的讀取后仍剩余足夠的空閑時間t2,可用于ARM對采集的肌電數據進行算法處理或用于對更多通道肌電信號的采集。

采用SignalTap工具獲取的肌電信號數據存儲時序,見圖7。Convst為AD采樣時鐘,頻率為120 kHz;busy為FPGA忙信號;cs為ADC采樣的片選信號;rd為FPGA的讀時鐘信號;rdaddr為FPGA的讀地址信號,即DMA響應中斷請求后發出的片選地址信號;wrfull為滿信號,即DMA中斷請求F_INT信號;rdclock為ARM給FPGA 的讀時鐘信號。由測試結果可知,該系統操作完全符合AD采樣時序和DMA操作時序要求,系統能正常工作。

圖6中斷信號和片選信號

Fig6Interruptsignalandselectsignal

圖7 肌電信號數據存儲時序

4 結論

針對多路肌電信號的采集和處理,本研究提出的基于嵌入式的多路肌電信號實時傳輸系統設計方案在采集肌電信息的同時,能進一步對肌電信息進行算法處理,大大提升了整個系統的數據處理能力和控制功能。采樣時序由FPGA控制提供,確保了ADC器件的采樣吞吐,保證了肌電信號的多路采集;主控器件ARM采用DMA方式與上位機進行數據交換,保證了ARM有足夠時間空余對采集的肌電數據進行前期處理,減少了上位機的工作量,并最大限度地保證了采樣數據的實時性。本研究對多通道肌電圖機/誘發電位儀的開發有著重要意義。

猜你喜歡
指令信號系統
聽我指令:大催眠術
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
完形填空二則
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 有专无码视频| 国产91透明丝袜美腿在线| 国产黄在线观看| 麻豆国产精品一二三在线观看| 亚洲六月丁香六月婷婷蜜芽| 欧美精品三级在线| 国产成人永久免费视频| 国产精品女同一区三区五区| 国产91熟女高潮一区二区| 亚洲高清中文字幕在线看不卡| 偷拍久久网| 欧美综合区自拍亚洲综合绿色| 亚洲国产欧美国产综合久久| 欧美激情,国产精品| 久久午夜夜伦鲁鲁片无码免费| 又爽又黄又无遮挡网站| 国产在线小视频| 欧美视频在线播放观看免费福利资源| 再看日本中文字幕在线观看| 亚洲国产成人麻豆精品| 亚洲日本在线免费观看| 亚洲精品国产自在现线最新| 欧美69视频在线| 国产成人啪视频一区二区三区| 91福利在线观看视频| 亚洲美女高潮久久久久久久| 国产美女在线免费观看| 国产成人精品第一区二区| 久久超级碰| 综合色婷婷| 国产精品成人一区二区不卡| 欧美在线三级| 国产丝袜丝视频在线观看| 国产精品yjizz视频网一二区| 97人人做人人爽香蕉精品| 午夜日韩久久影院| 在线无码av一区二区三区| 午夜高清国产拍精品| 免费国产一级 片内射老| 欧美另类精品一区二区三区 | 免费国产高清视频| 视频二区亚洲精品| 天天综合亚洲| 制服丝袜 91视频| 在线免费看黄的网站| 欧美日本二区| 日本久久免费| 成年av福利永久免费观看| 欧美成人亚洲综合精品欧美激情| 国产免费精彩视频| 国产极品美女在线观看| 老司机精品一区在线视频| 为你提供最新久久精品久久综合| 夜夜拍夜夜爽| 国产18页| 精品视频福利| 精品视频第一页| AⅤ色综合久久天堂AV色综合| 欧洲成人免费视频| 国产精品制服| 一本大道香蕉高清久久| 美女被操91视频| 亚洲人成网7777777国产| 欧美国产日产一区二区| 88国产经典欧美一区二区三区| 日韩福利在线视频| 欧洲日本亚洲中文字幕| 亚洲经典在线中文字幕| Jizz国产色系免费| 毛片三级在线观看| 成人永久免费A∨一级在线播放| 亚洲制服丝袜第一页| 九九线精品视频在线观看| 99热这里只有精品在线观看| 亚洲AV免费一区二区三区| 国产杨幂丝袜av在线播放| 日韩精品中文字幕一区三区| 无码精品国产VA在线观看DVD| 久久国产精品无码hdav| 激情网址在线观看| 国产精品久久久精品三级| 国产成人免费视频精品一区二区|