一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)精簡(jiǎn)ISA總線Linux編程 – Part3簡(jiǎn)介

英創(chuàng)信息技術(shù) ? 來(lái)源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-11 16:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

精簡(jiǎn)ISA總線接口是一種8-bit寬度的雙向并行擴(kuò)展總線,其特點(diǎn)是地址數(shù)據(jù)分時(shí)復(fù)用8位總線,加上4條總線控制信號(hào),即可實(shí)現(xiàn)對(duì)外部數(shù)據(jù)的快速讀寫(xiě)。若再使能一條總線時(shí)鐘信號(hào)(共13條信號(hào)),就可實(shí)現(xiàn)高達(dá)10MB/s以上的數(shù)據(jù)傳輸。精簡(jiǎn)ISA總線作為英創(chuàng)主板的特色功能之一,在ESM6802、ESM7000、ESM7100、ESM335x等多款型號(hào)中均有配置。

關(guān)于對(duì)精簡(jiǎn)ISA總線接口的應(yīng)用編程的基本方法,請(qǐng)參考《精簡(jiǎn)ISA總線編程– Part 1》;應(yīng)用程序直接啟動(dòng)DMA做定長(zhǎng)數(shù)據(jù)的傳送方法,請(qǐng)參考《精簡(jiǎn)ISA總線編程– Part 2》。本文介紹由外部硬件觸發(fā)DMA傳送,應(yīng)用程序通過(guò)ISA驅(qū)動(dòng)(/dev/em_isa)讀取采集數(shù)據(jù)的方法。

硬件DMA的基本工作原理

下圖是基于硬件DMA實(shí)現(xiàn)高速數(shù)據(jù)采集功能的系統(tǒng)框圖:

●應(yīng)用程序通過(guò)常規(guī)的異步ISA讀寫(xiě)操作,對(duì)AD采集單元進(jìn)行必要配置。

●通過(guò)特殊的isa_write_buf(..)操作啟動(dòng)硬件DMA。

●當(dāng)AD采集單元轉(zhuǎn)換數(shù)據(jù)準(zhǔn)備好,發(fā)出DMA請(qǐng)求信號(hào)(DMAREQ置高,脈沖寬度400ns – 1000ns)。

●DMA控制器感受到DMAREQ信號(hào),連續(xù)產(chǎn)生4個(gè)同步總線周期,讀取AD單元內(nèi)已準(zhǔn)備好的數(shù)據(jù),每個(gè)同步周期讀取2個(gè)字節(jié),共讀取8個(gè)字節(jié)。從DMAREQ請(qǐng)求開(kāi)始,到DMA數(shù)據(jù)傳輸完畢,整個(gè)過(guò)程大約1840ns。之后DMA將等待一下一個(gè)DMAREQ脈沖信號(hào)。

●DMA讀取的數(shù)據(jù)將自動(dòng)存入驅(qū)動(dòng)程序內(nèi)部的環(huán)形Buffer中,當(dāng)DMA讀取的數(shù)據(jù)達(dá)到一定閾值(4KB)時(shí),驅(qū)動(dòng)將通過(guò)事件觸發(fā)應(yīng)用程序讀取整塊數(shù)據(jù)。

由于AD單元中的數(shù)據(jù)是通過(guò)DMA硬件存入系統(tǒng)緩沖區(qū)的,由此產(chǎn)生的CPU開(kāi)銷就很低。應(yīng)用程序可在數(shù)據(jù)采集的同時(shí),完成必要的數(shù)據(jù)處理、顯示、通訊等功能塊。另一方面,由于AD采集單元不再需要保存轉(zhuǎn)換的數(shù)據(jù),可有效降低硬件成本。

實(shí)現(xiàn)基于硬件DMA的數(shù)據(jù)采集,需要以下信號(hào):

ESM7000信號(hào)管腳 實(shí)際信號(hào)功能
ISA_AD0 ISA地址數(shù)據(jù)總線,LSB
ISA_AD1 ISA地址數(shù)據(jù)總線
ISA_AD2 ISA地址數(shù)據(jù)總線
ISA_AD3 ISA地址數(shù)據(jù)總線
ISA_AD4 ISA地址數(shù)據(jù)總線
ISA_AD5 ISA地址數(shù)據(jù)總線
ISA_AD6 ISA地址數(shù)據(jù)總線
ISA_AD7 ISA地址數(shù)據(jù)總線,MSB
ISA_CSn ISA片選控制信號(hào)CS,低電平有效
GPIO24 ISA同步總線周期時(shí)鐘BCLK
ISA_ADVn ISA地址鎖存控制信號(hào)ADV,低電平有效
ISA_RDn ISA數(shù)據(jù)讀控制信號(hào)RD,低電平有效
ISA_WEn ISA數(shù)據(jù)寫(xiě)控制信號(hào)WE,低電平有效
GPIO12 DMA請(qǐng)求信號(hào)DMAREQ,輸入,高電平有效

注意:在使用硬件DMA數(shù)據(jù)傳輸時(shí),將禁止使用掛角GPIO12和GPIO24的GPIO功能、禁止使用CAN2端口。

DMA傳輸總線時(shí)序說(shuō)明

圖1是一次完整的DMA傳輸總體時(shí)序圖。

圖1硬件DMA傳輸總線時(shí)序

從上面的時(shí)序可見(jiàn),DMAREQ請(qǐng)求開(kāi)始,到第一個(gè)總線周期,大約有640ns的延時(shí)。整個(gè)傳輸周期大約1840ns。按2000ns計(jì)算,采用硬件DMA傳輸,可實(shí)現(xiàn)每秒4MB字節(jié)的數(shù)據(jù)傳輸率。若假設(shè)4路模擬通道,每個(gè)樣點(diǎn)16-bit量化,這樣就對(duì)應(yīng)每通道500ksps的采樣率。這樣的采樣率可滿足絕大部分的工控應(yīng)用需求。展開(kāi)圖1觀察,可見(jiàn):

圖2硬件觸發(fā)DMA傳輸時(shí)序前半部分

圖3硬件觸發(fā)DMA傳輸時(shí)序后半部分

從上面的時(shí)序圖可見(jiàn),有DMA啟動(dòng)的總線周期,每個(gè)周期只有6個(gè)BCLK脈沖,讀取2個(gè)數(shù)據(jù)字節(jié)。這與在《精簡(jiǎn)ISA總線編程– Part 2》中介紹的CPU啟動(dòng)的DMA操作不同。在使用時(shí)需特別注意。DMAREQ的脈沖寬度有一定要求:DMAREQ脈沖寬度應(yīng)大于240ns,才能保證可靠觸發(fā)DMA,其次DMAREQ應(yīng)在DMA傳輸周期結(jié)束前變低,否則可能誤觸發(fā)下一次DMA傳輸。

每個(gè)總線周期詳細(xì)的時(shí)序關(guān)系如下:

圖4硬件觸發(fā)DMA總線周期時(shí)序

圖5硬件觸發(fā)DMA總線周期時(shí)序參數(shù)標(biāo)注

為了簡(jiǎn)化AD采集單元的電路設(shè)計(jì),硬件觸發(fā)DMA傳輸總線周期輸出的地址固定在0xE0。AD采集單元的其他寄存器應(yīng)避免使用0xE0 – 0xE1這兩個(gè)地址。

應(yīng)用程序設(shè)計(jì)要點(diǎn)

應(yīng)用程序啟動(dòng)DMA數(shù)據(jù)傳輸,需要使用數(shù)據(jù)結(jié)構(gòu)struct isa_transfer的傳遞參數(shù)和數(shù)據(jù),struct isa_transfer的結(jié)構(gòu)定義如下:

structisa_transfer
{
void *rx_buf; /* != NULL: buffer for bus read */
void *tx_buf; /* != NULL: buffer for bus write */
unsigned len; /* buffer length in byte */
unsigned offset; /* offset,port address on isa bus */
unsigned inc; /* = 0: fixed offset, = 1: offset+1 after r/w */
};

啟動(dòng)硬件觸發(fā)DMA傳輸,需要特殊的寫(xiě)操作,代碼如下:

structisa_transfer t;
// start ext-trigger dma
memset(&t, 0, sizeof(structisa_transfer));
t.offset = 0x50E0;
t.len = 0xFFFFFFFF;
isa_write_buf(fd, &t);

注意在上述代碼中t.rx_buf和t.tx_buf均必須為空。停止硬件觸發(fā)DMA傳輸?shù)拇a為:

structisa_transfer t;
// stopext-trigger dma
memset(&t, 0, sizeof(structisa_transfer));
t.offset = 0x50E0;
t.len = 0;
isa_write_buf(fd, &t);

在啟動(dòng)DMA后,應(yīng)用程序的數(shù)據(jù)接收線程需調(diào)用poll等待數(shù)據(jù)ready的消息:

structpollfdfds[1];
fds[0].fd = fd;
fds[0].events = POLLPRI;
// wait data ready with timeout 2 seconds
if(poll(fds, 1, 2) == -1) {
perror("poll failed!\n");
goto error;
}
// data is ready….

讀取數(shù)據(jù)的代碼為:

intrc, total_bytes;
structisa_transfer t;
externunsignedchargbuf[64 * 1024];
total_bytes = 0;
memset(&t, 0, sizeof(structisa_transfer));
// read data
t.rx_buf = gbuf;
t.offset = offset;
t.len = sizeof(gbuf);
rc = read(fd, &t, sizeof(structisa_transfer));
if(rc< 0) {
printf("%s dma data read failed %d\n", __func__, rc);
}
elseif(rc> 0) {
total_bytes += rc;
printf("%s dma data read %d\n", __func__, total_bytes);
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6102

    瀏覽量

    36307
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    DEKRA德凱成為沙特通信和信息技術(shù)設(shè)備技術(shù)法規(guī)認(rèn)證機(jī)構(gòu)

    近日,DEKRA德凱成功獲得沙特標(biāo)準(zhǔn)、計(jì)量和質(zhì)量組織(SASO)認(rèn)可,正式成為沙特通信和信息技術(shù)設(shè)備技術(shù)法規(guī)(Technical Regulation for Communications
    的頭像 發(fā)表于 07-15 14:27 ?209次閱讀

    科普|信創(chuàng)是什么?一文讀懂“信息技術(shù)應(yīng)用創(chuàng)新”戰(zhàn)略

    什么是信創(chuàng)?信創(chuàng),即“信息技術(shù)應(yīng)用創(chuàng)新”,是國(guó)家推動(dòng)IT系統(tǒng)自主可控、安全可控的重要戰(zhàn)略工程。它不僅是技術(shù)層面的創(chuàng)新,更承載著保障國(guó)家網(wǎng)絡(luò)安全、推動(dòng)產(chǎn)業(yè)升級(jí)和實(shí)現(xiàn)數(shù)字主權(quán)的重任。簡(jiǎn)單來(lái)
    的頭像 發(fā)表于 06-13 10:06 ?2013次閱讀
    科普|信<b class='flag-5'>創(chuàng)</b>是什么?一文讀懂“<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新”戰(zhàn)略

    2025第二屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽正式開(kāi)賽

    為進(jìn)一步落實(shí)建設(shè)網(wǎng)絡(luò)強(qiáng)國(guó)和教育強(qiáng)國(guó)的戰(zhàn)略部署,推動(dòng)各級(jí)教育行政部門(mén)及高校信息技術(shù)應(yīng)用創(chuàng)新能力提升,培養(yǎng)實(shí)戰(zhàn)型創(chuàng)新人才。龍芯中科聯(lián)合太初元碁、誠(chéng)邁科技在2025第二屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽共同發(fā)布信息技術(shù)應(yīng)用創(chuàng)新人工智能方向(賽
    的頭像 發(fā)表于 05-13 16:21 ?544次閱讀

    Linux的作用

    學(xué)校和教育機(jī)構(gòu)使用Linux來(lái)教授計(jì)算機(jī)科學(xué)和信息技術(shù)相關(guān)的課程。 總之,Linux是一個(gè)功能強(qiáng)大、靈活且廣泛應(yīng)用的操作系統(tǒng),適用于各種不同的用途和場(chǎng)景。
    發(fā)表于 04-04 01:57

    Platform總線簡(jiǎn)介

    平臺(tái)總線(Platform Bus)是 Linux 內(nèi)核中的一個(gè)基礎(chǔ)架構(gòu),用于支持硬件平臺(tái)上的設(shè)備驅(qū)動(dòng)程序的開(kāi)發(fā)和管理。它提供了一種統(tǒng)一的方式來(lái)表示和操作與特定平臺(tái)相關(guān)的設(shè)備。平臺(tái)總線的設(shè)計(jì)目標(biāo)是將
    發(fā)表于 03-31 16:43

    龍芯中科榮獲2024年度信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)卓越貢獻(xiàn)成員單位

    近日,中國(guó)電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)(以下簡(jiǎn)稱“信創(chuàng)工委會(huì)”)在北京召開(kāi)2024年度工作總結(jié)座談會(huì)暨信創(chuàng)“大比武”總結(jié)大會(huì)。中國(guó)工程院院士、信
    的頭像 發(fā)表于 01-23 10:50 ?707次閱讀

    芯盛智能榮獲2024年信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)卓越貢獻(xiàn)成員單位

    日前,中國(guó)電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)(以下簡(jiǎn)稱 “信創(chuàng)工委會(huì)”)2024 年度總結(jié)座談會(huì)于北京隆重舉行。此次會(huì)議對(duì)在信創(chuàng)工作中作出突出貢獻(xiàn)的成員單位予以表彰。江蘇
    的頭像 發(fā)表于 01-20 09:56 ?639次閱讀

    飛騰助力首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽圓滿落幕

    近日,由中國(guó)教育技術(shù)協(xié)會(huì)主辦,教育部教育管理信息中心教育信創(chuàng)實(shí)驗(yàn)室、公安部第三研究所、中國(guó)電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信創(chuàng)工委會(huì)支持,北京航空航天
    的頭像 發(fā)表于 12-24 09:57 ?516次閱讀

    有方科技參編的信息技術(shù)團(tuán)體標(biāo)準(zhǔn)發(fā)布

    近日,有方科技參編的《信息技術(shù)產(chǎn)品供應(yīng)鏈成熟度 共性指標(biāo) 第1部分:企業(yè)背景評(píng)價(jià)》《信息技術(shù)產(chǎn)品供應(yīng)鏈成熟度 共性指標(biāo) 第2部分:技術(shù)掌控評(píng)價(jià)》《信息技術(shù)產(chǎn)品供應(yīng)鏈成熟度 共性指標(biāo) 第
    的頭像 發(fā)表于 12-23 10:44 ?611次閱讀

    龍芯中科助力2024首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽成功舉辦

    近日,2024首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽在北京航空航天大學(xué)成功舉辦。本次大賽由中國(guó)教育技術(shù)協(xié)會(huì)主辦,教育信創(chuàng)實(shí)驗(yàn)室、公安部第三研究所、中國(guó)電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信
    的頭像 發(fā)表于 12-19 17:02 ?572次閱讀

    全志T113-S3板載Linux系統(tǒng)信息查詢

    包含多個(gè)內(nèi)置命令,可幫助我們熟悉正在使用的軟件和硬件平臺(tái)。為了全面了解如何查看Linux系統(tǒng)的各種信息,下面的內(nèi)容將詳細(xì)介紹各個(gè)方面的查詢命令和方法。產(chǎn)品簡(jiǎn)介眺望電子E
    的頭像 發(fā)表于 11-22 01:07 ?1074次閱讀
    全志T113-S<b class='flag-5'>3</b>板載<b class='flag-5'>Linux</b>系統(tǒng)<b class='flag-5'>信息</b>查詢

    中科創(chuàng)達(dá)榮獲2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)

    及前百家企業(yè)”名單。中科創(chuàng)達(dá)憑借非凡的技術(shù)實(shí)力與持續(xù)的創(chuàng)新能力,成功入選“2024年度軟件和信息技術(shù)服務(wù)競(jìng)爭(zhēng)力百?gòu)?qiáng)企業(yè)”以及“2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)”。
    的頭像 發(fā)表于 10-30 11:44 ?975次閱讀

    Linux應(yīng)用編程的基本概念

    Linux應(yīng)用編程涉及到在Linux環(huán)境下開(kāi)發(fā)和運(yùn)行應(yīng)用程序的一系列概念。以下是一些涵蓋Linux應(yīng)用編程的基本概念。
    的頭像 發(fā)表于 10-24 17:19 ?655次閱讀

    創(chuàng)國(guó)產(chǎn)化背景下的工控主板發(fā)展現(xiàn)狀

    創(chuàng),是信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)的簡(jiǎn)稱,于2016年“信創(chuàng)工委會(huì)”(信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì))提出,目的就是要推動(dòng)我們國(guó)內(nèi)軟硬件關(guān)鍵技術(shù)的研發(fā)
    的頭像 發(fā)表于 09-21 16:15 ?880次閱讀

    梯度科技入選2023年信息技術(shù)應(yīng)用創(chuàng)新解決方案名單

    日前,工業(yè)和信息化部網(wǎng)絡(luò)安全產(chǎn)業(yè)發(fā)展中心(工業(yè)和信息化部信息中心)在天津舉辦2024信息技術(shù)應(yīng)用創(chuàng)新發(fā)展大會(huì)暨解決方案應(yīng)用推廣大會(huì)。會(huì)上正式公布了2023年
    的頭像 發(fā)表于 09-09 16:29 ?770次閱讀