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

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

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

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

基于ATmega128單片機(jī)和CH375模塊實(shí)現(xiàn)USB接口電路的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:微計(jì)算機(jī)信息 ? 作者:楊全玖;張大偉; ? 2020-06-30 07:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

正離子靜電加速器在運(yùn)轉(zhuǎn)過程中會(huì)產(chǎn)生能量較高的γpX和快中子等多種放射性輻射,對周圍的環(huán)境造成污染,對生命造成危害。由于其體積龐大,輻射范圍廣,需設(shè)計(jì)一個(gè)多探測端的多通道同步核輻射監(jiān)測系統(tǒng),針對加速器周圍環(huán)境進(jìn)行輻射防護(hù)監(jiān)測。每個(gè)探測端屬于一個(gè)探測通道,它們相互獨(dú)立。各通道將采集到的數(shù)據(jù)傳輸給上位機(jī)(主控計(jì)算機(jī))。上位機(jī)進(jìn)行數(shù)據(jù)處理并顯示各個(gè)探測端的輻射強(qiáng)度及吸收劑量。

若采用串口(RS232)實(shí)現(xiàn)多通道傳輸,各通道每次向上位機(jī)傳輸?shù)臄?shù)據(jù)容量大(16K),而串口傳輸速度慢,花費(fèi)的時(shí)間長。在通信過程中,相應(yīng)通道進(jìn)入中斷服務(wù)程序后,不能夠再采集新的信號,更加嚴(yán)重地影響了系統(tǒng)的探測效率。于是就采用CH375構(gòu)成的USB接口進(jìn)行數(shù)據(jù)傳輸。速率可提高到1Mbit/s以上。同時(shí)USB所具有的即插即用、通用性強(qiáng)、易擴(kuò)展、可靠性好等優(yōu)點(diǎn)也極大地改善了接口的使用性能。

1、CH375模塊簡介

USB模塊CH375是一個(gè)USB總線的通用設(shè)備接口芯片,用戶無需編寫驅(qū)動(dòng)程序,內(nèi)置有USB通訊中的底層協(xié)議,完全滿足USB1.1標(biāo)準(zhǔn)。具有8位數(shù)據(jù)總線(D0~D7)、地址輸入(A0)、讀(RD#)、 寫(WR#)、片選控制線(CS#)以及中斷輸出(INT#),可以方便地掛接到單片機(jī)的數(shù)據(jù)總線上。當(dāng)A0為低電平時(shí)選擇數(shù)據(jù)端口,單片機(jī)通過8位并口對CH375進(jìn)行讀寫數(shù)據(jù);為高電平時(shí)選擇命令端口,可以向其寫入命令。

在本地端,單片機(jī)對CH375的操作是采用命令加數(shù)據(jù)的I/O操作方式,任何操作都是先發(fā)命令(其命令格式參考文獻(xiàn)3)給CH375,然后執(zhí)行數(shù)據(jù)輸入輸出。CH375接收到上位機(jī)發(fā)送的數(shù)據(jù)或者發(fā)送完給上位機(jī)的數(shù)據(jù)后,以中斷方式通知單片機(jī)。

將CH375芯片的驅(qū)動(dòng)程序、動(dòng)態(tài)鏈接庫拷貝到上位機(jī)中,利用CH375動(dòng)態(tài)鏈接庫DLL提供的API函數(shù)對其進(jìn)行操作,對USB設(shè)備的通信就幾乎和訪問本地硬盤中的文件差不多了。

2、具有多個(gè)USB接口的多通道數(shù)據(jù)采集系統(tǒng)

圖1是加速器的核輻射監(jiān)測系統(tǒng)。是個(gè)具有多個(gè)USB接口的多通道數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)可安裝連接多個(gè)探測端(最多128個(gè))。監(jiān)測不同的放射性輻射時(shí),裝配相應(yīng)的探測器。每個(gè)探測通道的工作原理電子線路都相同,分別連接到USB擴(kuò)展卡上。多道分析器采用高性能AVR單片機(jī)ATmega128作為控制器。ATmega128運(yùn)用Harvard結(jié)構(gòu)概念,具有預(yù)取指令功能,機(jī)器周期為1個(gè)時(shí)鐘周期,絕大多數(shù)指令為單周期指令,工作頻率為16MHz時(shí)可達(dá)到16MIPS的性能。用其控制高速模數(shù)轉(zhuǎn)換電路,把探測器輸出的模擬量轉(zhuǎn)換成計(jì)算機(jī)可接收的數(shù)字量,進(jìn)行存儲(chǔ),等待上位機(jī)的讀取。

基于ATmega128單片機(jī)和CH375模塊實(shí)現(xiàn)USB接口電路的設(shè)計(jì)

單一探測通道,用CH375構(gòu)成的USB接口電路原理如圖2所示。各通道接收到上位機(jī)發(fā)出讀取數(shù)據(jù)命令后,由ATmega128控制將所有探測數(shù)據(jù)通過USB接口電路傳輸給上位機(jī)。

3、多個(gè)通道USB接口的軟件設(shè)計(jì)

各通道的USB模塊CH375在計(jì)算機(jī)應(yīng)用層與其本地端單片機(jī)ATmega128之間提供了端對端的連接。統(tǒng)一采用數(shù)據(jù)加應(yīng)答方式進(jìn)行通信,所有的通信都由計(jì)算機(jī)應(yīng)用層發(fā)起,然后以接收到單片機(jī)的應(yīng)答結(jié)束。單一通道完整的通信過程包括:

① 計(jì)算機(jī)應(yīng)用層按事先約定的格式將數(shù)據(jù)請求發(fā)送給CH375;

② CH375以中斷方式通知單片機(jī)。

③ 單片機(jī)進(jìn)入中斷服務(wù)程序,獲取CH375的中斷狀態(tài)并分析;

④ 如果是上傳(上傳緩沖區(qū)的數(shù)據(jù)被計(jì)算機(jī)成功讀?。?,則釋放當(dāng)前USB緩沖區(qū),然后退出中斷程序;

⑤ 如果是下傳(下傳緩沖區(qū)成功接收到計(jì)算機(jī)發(fā)送的數(shù)據(jù)),則從數(shù)據(jù)下傳緩沖區(qū)讀取數(shù)據(jù)塊;

⑥ 分析接收到的數(shù)據(jù)塊,如果是數(shù)據(jù)請求上傳命令,準(zhǔn)備應(yīng)答數(shù)據(jù)(采集數(shù)據(jù));

⑦ 單片機(jī)將采集數(shù)據(jù)寫入數(shù)據(jù)上傳緩沖區(qū)中,然后退出中斷程序;

⑧ CH375將采集數(shù)據(jù)返回給計(jì)算機(jī);

⑨ 計(jì)算機(jī)應(yīng)用層接收到應(yīng)答數(shù)據(jù),傳輸結(jié)束;

該通訊方式具有數(shù)據(jù)自動(dòng)同步、程序設(shè)計(jì)簡單、較好的交互性和可控性等優(yōu)點(diǎn)。計(jì)算機(jī)定時(shí)以此方式順次訪問各通道,獲取各通道采集到的數(shù)據(jù)。

3.1 單片機(jī)端的程序設(shè)計(jì)

各通道單片機(jī)端程序設(shè)計(jì)相同。ATmega128中斷1(INT1)作為USB的中斷入口(參考圖2),采用數(shù)據(jù)加應(yīng)答方式,其中斷1服務(wù)處理程序設(shè)計(jì)流程圖如圖3所示。

采用C語言編程,編寫單片機(jī)端ATmega128中斷1服務(wù)處理程序的基本框架如下所示:

void int1_isr (void) //USB中斷入口程序

{

CH375_WR_CMD_PORT(CMD_GET_STATUS); //向CH375發(fā)送中斷狀態(tài)獲取命令

InterruptStatus = CH375_RD_DAT_PORT();//獲取中斷狀態(tài),并通知CH375取消中斷請求

// 分析中斷狀態(tài),并做相應(yīng)處理

if ( InterruptStatus= =USB_INT_EP2_OUT) // 數(shù)據(jù)下傳

{

CH375_WR_CMD_PORT( CMD_RD_USB_DATA );// 向CH375發(fā)送讀數(shù)據(jù)命令

RD_Data =CH375_RD_DAT_PORT( );//從CH375下傳緩沖區(qū)讀取數(shù)據(jù)塊

……… //分析接收到的數(shù)據(jù)塊

CH375_WR_CMD_PORT(CMD_WR_USB_DATA7); // 向CH375發(fā)送寫數(shù)據(jù)命令

CH375_WR_DAT_PORT( DATA);// 將采集數(shù)據(jù)DATA寫入CH375數(shù)據(jù)上傳緩沖區(qū)

return;

}

If(InterruptStatus= = USB_INT_EP2_IN) // 數(shù)據(jù)上傳

{

CH375_WR_CMD_PORT( CMD_UNLOCK_USB );// 釋放當(dāng)前USB緩沖區(qū)

return;

}

}

3.2 計(jì)算機(jī)端的程序設(shè)計(jì)

采用Visual C++作為計(jì)算機(jī)端應(yīng)用軟件的開發(fā)平臺(tái),以實(shí)現(xiàn)兩通道USB數(shù)據(jù)傳輸為例,計(jì)算機(jī)端程序設(shè)計(jì)流程圖如圖4所示。USB設(shè)備1即指通道1;USB設(shè)備2即指通道2。

圖4 計(jì)算機(jī)端兩通道USB數(shù)據(jù)傳輸程序設(shè)計(jì)流程圖

利用MFC(微軟基礎(chǔ)類)定時(shí)器函數(shù),計(jì)算機(jī)定時(shí)順序訪問兩通道,獲取采集數(shù)據(jù)。編寫計(jì)算機(jī)端定時(shí)中斷處理程序的基本框架如下所示:

OnTimer(UINT nIDEvent) //定時(shí)函數(shù)入口

{

if (CH375OpenDevice(0 )= =INVALID_HANDLE_VALUE) // 打開USB設(shè)備1(通道1 USB模塊CH375),返回句柄,出錯(cuò)無效

………

if (CH375OpenDevice(1 )= =INVALID_HANDLE_VALUE) //打開USB設(shè)備2

………

if ( CH375WriteData( 0, WriteBuf, length) ) //發(fā)送數(shù)據(jù)請求命令給USB設(shè)備1,成功發(fā)送后返回真。WriteBuf指向放置準(zhǔn)備寫出數(shù)據(jù)的緩沖區(qū)。Length指向長度單元,輸入時(shí)為準(zhǔn)備寫出的長度,返回后為實(shí)際寫出的長度。

………

if ( CH375ReadData( 0, ReadBuf, length) ) //從USB設(shè)備1讀取采集數(shù)據(jù),成功讀取后返回真。ReadBuf為指向用于保存讀取數(shù)據(jù)的緩沖區(qū)。Length指向長度單元,輸入時(shí)為準(zhǔn)備讀取得長度,返回后為實(shí)際讀取得長度。

………

CH375CloseDevice( 0 ); //關(guān)閉USB設(shè)備1

if ( CH375WriteData( 1, WriteBuf, length) ) //發(fā)送數(shù)據(jù)請求命令給USB設(shè)備2

………

if ( CH375ReadData( 1, ReadBuf, length) ) //從USB設(shè)備2讀取采集數(shù)據(jù)

………

CH375CloseDevice( 1 ); //關(guān)閉USB設(shè)備2

}

4 、結(jié)束語

采用CH375進(jìn)行USB數(shù)據(jù)傳輸速率高,達(dá)到1Mbit/s以上。而且無需編寫復(fù)雜的USB驅(qū)動(dòng)程序,利用其動(dòng)態(tài)鏈接庫即可實(shí)現(xiàn)多通道USB接口與PC機(jī)通信。研發(fā)簡單,易于實(shí)現(xiàn),可以使數(shù)據(jù)傳輸系統(tǒng)非常方便的從RS232總線轉(zhuǎn)向USB總線,彌補(bǔ)其速度慢的缺點(diǎn),進(jìn)行系統(tǒng)升級。并且USB所具有的各種優(yōu)越性能,也必將使這種接口電路在數(shù)據(jù)傳輸中得到更廣泛的應(yīng)用。

責(zé)任編輯:gt


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    460

    文章

    52509

    瀏覽量

    440855
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44991

    瀏覽量

    650436
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    8186

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    USB總線接口芯片CH375

    單片機(jī)/DSP/MCU/MPU等控制器的系統(tǒng)總線上。在USB主機(jī)方式下,CH375還提供了串行通訊方式,通過串行輸入、串行輸出和中斷輸出與單片機(jī)/DSP/MCU/MPU等相連接。
    發(fā)表于 03-08 14:28

    采用CH375多通道USB接口實(shí)現(xiàn)與PC機(jī)的通信

    采用C語言編程,編寫單片機(jī)ATmega128中斷1服務(wù)處理程序的基本框架如下所示:void int1_isr (void)//USB中斷入口程序{CH375
    發(fā)表于 05-05 09:29

    采用CH375接口電路實(shí)現(xiàn)LPT-USB打印機(jī)驅(qū)動(dòng)器設(shè)計(jì)

    單片機(jī)通過CH375控制USB打印機(jī)的硬件電路CH375通過被動(dòng)并行接口
    發(fā)表于 06-18 05:00

    基于CH375多通道USB接口與PC機(jī)通信的實(shí)現(xiàn)

    利用USB接口技術(shù),采用USB模塊CH375,在加速器核輻射監(jiān)測系統(tǒng)中實(shí)現(xiàn)了多個(gè)探測通道
    發(fā)表于 06-26 08:51 ?39次下載

    CH375中文資料,pdf datasheet(USB總線接口芯片)

    CH375 是一個(gè)USB總線的通用接口芯片,支持USB-HOST主機(jī)方式和USB-DEVICE/SLAVE設(shè)備方式。在本地端,
    發(fā)表于 07-22 11:07 ?300次下載

    USB接口芯片CH375的原理及應(yīng)用

    USB接口芯片CH375的原理及應(yīng)用:對USB 接口芯片CH375 的功能、原理做了較詳細(xì)的介紹
    發(fā)表于 09-20 18:07 ?133次下載

    基于CH375實(shí)現(xiàn)單片機(jī)讀寫U盤

    摘要:介紹了一種USB總線的通用接口芯片CH375,并在此基礎(chǔ)上提出了一種外部單片機(jī)讀寫U盤的基本方法及其硬件連接方法。單片機(jī)只要在原硬件系
    發(fā)表于 09-10 14:40 ?188次下載

    基于CH375USB文件加解密系統(tǒng)設(shè)計(jì)

    介紹了采用CH375單片機(jī)實(shí)現(xiàn)的基于USB HOST 技術(shù)的嵌入式文件加密解密系統(tǒng),該系統(tǒng)采用基于隨機(jī)算子的輕量級加密算法對USB 移動(dòng)
    發(fā)表于 05-17 15:43 ?32次下載
    基于<b class='flag-5'>CH375</b>的<b class='flag-5'>USB</b>文件加解密系統(tǒng)設(shè)計(jì)

    ATmega128CH374的USB接口設(shè)計(jì)

    ATmega128CH374的USB接口設(shè)計(jì)
    發(fā)表于 10-31 08:28 ?27次下載
    <b class='flag-5'>ATmega128</b>和<b class='flag-5'>CH</b>374的<b class='flag-5'>USB</b><b class='flag-5'>接口</b>設(shè)計(jì)

    CH375的MSP430讀寫U盤的設(shè)計(jì)與實(shí)現(xiàn)方案

    給出了一種基于CH375 實(shí)現(xiàn)MSP43OF44g 單片機(jī)讀寫U 盤的設(shè)計(jì)方案該方案以油井電量采集儀為應(yīng)用背景, 利用 MSp43O 單片機(jī)CH3
    發(fā)表于 04-26 09:15 ?33次下載
    <b class='flag-5'>CH375</b>的MSP430讀寫U盤的設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>方案

    USB總線通用接口芯片CH375對比色計(jì)儀器的設(shè)計(jì)

    常用的 USB全速設(shè)備,外部單片機(jī)可以通過 CH375按照相應(yīng)的協(xié)議與 USB設(shè)備通訊。CH375支持 5V和 3.3V電源電壓和低功耗模式
    發(fā)表于 07-17 15:21 ?2714次閱讀
    <b class='flag-5'>USB</b>總線通用<b class='flag-5'>接口</b>芯片<b class='flag-5'>CH375</b>對比色計(jì)儀器的設(shè)計(jì)

    沁恒股份USB總線接口芯片:CH375概述

    方便地掛接到單片機(jī)/DSP/MCU/MPU等控制器的系統(tǒng)總線上。在USB 主機(jī)方式下,CH375還提供了串行通訊方式,通過串行輸入、串行輸出和中斷輸出與單片機(jī)/DSP/MCU/MPU
    的頭像 發(fā)表于 11-01 11:16 ?3039次閱讀
    沁恒股份<b class='flag-5'>USB</b>總線<b class='flag-5'>接口</b>芯片:<b class='flag-5'>CH375</b>概述

    DAC1230與單片機(jī)Atmega128接口技術(shù)

    DAC1230與單片機(jī)Atmega128接口技術(shù)(開關(guān)電源技術(shù)課程設(shè)計(jì)報(bào)告)-文檔為DAC1230與單片機(jī)Atmega128
    發(fā)表于 09-17 15:45 ?5次下載
    DAC1230與<b class='flag-5'>單片機(jī)</b><b class='flag-5'>Atmega128</b>的<b class='flag-5'>接口</b>技術(shù)

    用51單片機(jī)ch375實(shí)現(xiàn)鍵鼠功能

    。若真想實(shí)現(xiàn)鍵鼠功能,推薦使用32及類似的單片機(jī)做。簡單介紹:ch375CH375 是一個(gè) USB 總線的通用
    發(fā)表于 11-20 14:06 ?19次下載
    用51<b class='flag-5'>單片機(jī)</b>和<b class='flag-5'>ch375</b><b class='flag-5'>實(shí)現(xiàn)</b>鍵鼠功能

    基于ATmega128CH374的USB接口設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于ATmega128CH374的USB接口設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-25 10:07 ?1次下載
    基于<b class='flag-5'>ATmega128</b>和<b class='flag-5'>CH</b>374的<b class='flag-5'>USB</b><b class='flag-5'>接口</b>設(shè)計(jì)