freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

at89c51單片機(jī)usb接口驅(qū)動(dòng)和應(yīng)用程序的開(kāi)發(fā)畢業(yè)論文-文庫(kù)吧資料

2024-09-03 17:06本頁(yè)面
  

【正文】 4 章 USB 數(shù)據(jù) 采集系統(tǒng)設(shè)備固件編寫 固件實(shí)質(zhì)上是固化在硬件中的軟件,它直接與硬件進(jìn)行通信,與硬件有著密切的聯(lián)系。同樣, CH372的 INT與單片機(jī)的 INT0連起來(lái)以使單片機(jī)產(chǎn)生中斷進(jìn)入中斷處理程序。 CH372 的片選端 CS接地,一直處在工作狀態(tài)。 圖 34 A/D轉(zhuǎn)換電路 [ CH372 接口電路 圖 35 CH372 接口電路 C5 和 C6 用于外部電源退耦, C6 是容量為 F 的獨(dú)石或者高頻瓷片電容,電容 C7 用于 CH372 內(nèi)部電源節(jié)點(diǎn)退耦, C7 是容量為 4700pF 到 F的獨(dú)石或者高頻瓷片電容。 單片機(jī)的 ALE 引腳通過(guò)外接分頻器(除 2)為 ADC0809 提供時(shí)鐘信號(hào)。 A/D 轉(zhuǎn)換電路 用單片機(jī)的 口控制兩個(gè)或門,當(dāng) 輸出高電平時(shí)則兩個(gè)或門關(guān) 閉,當(dāng) 輸出低電平時(shí),或門開(kāi)啟,由單片機(jī)的 WR和 RD分別控制 ADC0809的 ALE、 START 和 ENABLE。 圖 32 時(shí)鐘電路 復(fù)位電路 圖 33 復(fù)位電路 單片機(jī)的復(fù)位是上電自動(dòng)復(fù)位,它是利用電容來(lái)實(shí)現(xiàn)的,即上電瞬間RST/Vpd 端的電位與 Vcc 相同,隨著充電電流的減少, RST/Vpd 的電位逐漸下降。 C1 和 C2 值通常選擇 30pF,他們對(duì)頻率有微調(diào)作用,震蕩的頻率范圍是 至 12MHz。 時(shí)鐘電路 下圖為 AT89C51 的時(shí)鐘電路圖,單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳 X1 和 X2 分別是此放大器 的輸入和輸出端。當(dāng)使用 工作電壓時(shí), CH372 芯片的 V3 引腳應(yīng)該與 VCC 引腳相連接,同時(shí)輸入外部的 電源,并且與 CH372 芯片相連接的其它電路的工作電壓不能超過(guò) 。 CH372B 芯片支持 或者 5V 電源電壓。外圍電路只需要在 X1和 X0 引腳之間連接一個(gè)標(biāo)稱頻率為 12MHz 的晶體,并且分別為 X1 和 X0 引腳對(duì)地連接一個(gè)高頻振蕩電容。 CH372 芯片正常工作時(shí)需要外部為其提供 12MHz的時(shí)鐘信號(hào)。如果為了芯片安全而串接保險(xiǎn)電阻或者電感或者 ESD 保護(hù)器件,那么交直流等效串聯(lián)電阻應(yīng)該 在 5Ω之內(nèi)。 表 36 并口 I/O 操作的真值表(表中 X 代表不關(guān)心此位, Z 代表 CH372 三態(tài)禁止)。 當(dāng) WR為高電平并且 CS和 RD及 A0 都為低電平時(shí), CH372 中的數(shù)據(jù)通過(guò) D7~ D0 輸出;當(dāng) RD為高電平并且 CS和 WR及 A0 都為低電平時(shí), D7~D0 上的數(shù)據(jù)被寫入 CH372 芯片中;當(dāng) RD為高電平并且 CS和 WR都為低電平而 A1 為高電平時(shí), D7~ D0 上的數(shù)據(jù)被作為命令碼寫入 CH372 芯片中。 CS由地址譯碼電路驅(qū)動(dòng),用于當(dāng)單片機(jī)具有多個(gè)外圍器件時(shí)進(jìn)行設(shè)備選擇。通過(guò)被動(dòng)并行接口, CH372 芯片可以很方便地掛接到各種 8位單片機(jī)、 DSP、 MCU 的 系統(tǒng)總線上,并且可以與多個(gè)外圍器件共存。數(shù)據(jù)塊長(zhǎng)度的有效值是 0 至 64,如果長(zhǎng)度不為 0,則單片機(jī)必須將后續(xù)數(shù)據(jù)逐個(gè)寫入 CH372。 命令 WR_USB_DATA7:該命令向 USB 端點(diǎn) 2 的上傳緩沖區(qū)寫入數(shù)據(jù)塊,在 內(nèi)置固件模式下, USB 端點(diǎn) 2 就是批量端點(diǎn)。首先寫入的數(shù)據(jù)是數(shù)據(jù)塊長(zhǎng)度,也就是后續(xù)數(shù)據(jù)流的字節(jié)數(shù)。該命令與 RD_USB_DATA 命令的唯一區(qū)別是后者在讀取完成后還會(huì)自動(dòng)釋放當(dāng)前 USB 緩沖區(qū)(相當(dāng)于再加上 UNLOCK_USB 命令)。首先讀取的輸出數(shù)據(jù)是數(shù)據(jù)塊長(zhǎng)度,也就是后續(xù)數(shù)據(jù)流的字節(jié)數(shù)。該命令不能多執(zhí)行,也不能少執(zhí)行。 表 35 中斷狀態(tài)值 命令 UNLOCK_USB:該命令釋放當(dāng)前 USB 緩沖區(qū)。 表 34 中斷狀態(tài)字節(jié) 下面是中斷狀態(tài)的分析說(shuō)明。 命令 GET_STATUS:該命令獲取 CH372 的中斷狀態(tài)并通知 CH372 取消中斷請(qǐng)求。通過(guò)設(shè)置是否啟用,可以模擬USB 設(shè)備的插拔事件。該命令需要輸入 1 個(gè)數(shù)據(jù),該數(shù)據(jù)是模式代碼:模式代碼為 00H 時(shí)切換到未啟用的 USB 設(shè)備方式(上電或復(fù)位后的默認(rèn)方式);模式代碼為 01H 時(shí)切換到已啟用的 USB 設(shè)備方式,外部固件模式;模式代碼為 02H 時(shí)切換到已啟用的 USB 設(shè)備方式,內(nèi)置固件模式。如果需要設(shè)置 ID,那么該命令必須在 SET_USB_MODE 命令之前執(zhí)行。 命令 SET_USB_ID:該命令設(shè)置 USB 的廠商識(shí)別碼 VendorID 和產(chǎn)品識(shí)別碼 ProductID。 USB 總線掛起狀態(tài)包括兩種情況:一是 USB 信號(hào)線物理斷開(kāi),完全沒(méi)有USB 信號(hào);二是 USB 主機(jī)端停止發(fā)送 SOF 信號(hào),也就是 USB 主機(jī)端要求 USB設(shè)備進(jìn)入掛起狀態(tài)。該命令需要輸入兩個(gè)數(shù)據(jù),分別是數(shù)據(jù) 10H 和檢查方式。另外,在 CH372 復(fù)位后未收到任何命令之前,從其并口通常是讀出數(shù)據(jù) 00H。該命令需要輸入 1 個(gè)數(shù)據(jù),可以是任意數(shù)據(jù),如果 CH372 正常工作,那么 CH372的輸出數(shù)據(jù)是輸入數(shù)據(jù)的按位取反。通常情況下,硬件復(fù)位在 40ms 時(shí) 間之內(nèi)完成。通常情況下, CH372 芯片從低功耗狀態(tài)退出并恢復(fù)到正常工作狀態(tài)需要幾毫秒的喚醒時(shí)間,當(dāng)完全恢復(fù)到正常工作狀態(tài)后, CH372 將 產(chǎn)生 USB_INT_WAKE_UP 事件中斷。 命令 ENTER_SLEEP:該命令使 CH372 芯片進(jìn)入低功耗睡眠掛起狀態(tài) (部分型號(hào)的芯片不支持該功能)。返回的一個(gè)字節(jié)數(shù)據(jù)是版本號(hào),其位 7 為 1,位 6 為 0,位 5~位 0 為版本號(hào)。 表 31 CH372 引腳 CH372 用到的命令如下表 32 所示: 表 32 CH372 的命令 如果命令的輸出數(shù)據(jù)是操作狀態(tài),參考 表 33。 (8) 主端點(diǎn)上傳下傳緩沖區(qū)各64 字節(jié),輔助端點(diǎn)上傳下傳緩 沖區(qū)各 8 字節(jié)。 (6)產(chǎn)品制造商可以自定義廠商標(biāo)識(shí)( Vendor ID)和產(chǎn)品標(biāo)識(shí)( Product ID)。 (4)內(nèi)置固件模式下屏蔽了相關(guān)的 USB 協(xié)議,自動(dòng)完成標(biāo)準(zhǔn)的 USB 枚舉配置過(guò)程,完全不需要本地端控制器作任何處理,簡(jiǎn)化了單片機(jī)的固件編程。 (2)提供一對(duì)主端點(diǎn)和一對(duì)輔助端點(diǎn),支持控制傳輸、批 量傳輸、中斷傳輸。在本地端, CH372 具有 8 位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機(jī)/DSP/MCU/MPU 等控制器的系統(tǒng)總線上;在計(jì)算機(jī)系統(tǒng)中, CH372 的配套軟件 提供了簡(jiǎn)潔易用的操作接口,與本地端的單片機(jī)通訊就如同讀寫文件。 根據(jù)本系統(tǒng)的設(shè)計(jì)要求和實(shí)際情況,在設(shè)計(jì)中選擇了第三種方案。另外由于采用一般單片機(jī),熟悉單片機(jī)的開(kāi)發(fā)人員可以很快的開(kāi)始一個(gè)項(xiàng)目。 USB 接口方案 USB 接口設(shè)計(jì)中有三種芯片選擇方案 :第一種方案是選用設(shè)計(jì)成標(biāo)準(zhǔn) USB控制器的低層芯片,例如 Cypress 公司的 CY7C63XXX 系列,這類芯片是完全按照 USB 協(xié)議設(shè)計(jì)的,但由于其結(jié)構(gòu)不同于其它常用控制芯片,開(kāi)發(fā)者需要較長(zhǎng)的學(xué)習(xí)時(shí)間,不利于快速開(kāi)始一個(gè)項(xiàng)目;另一種方案是采用具備 USB 通信功能的單片機(jī),例如 Intel/Cypress 的 8X93 Cypress 的 EZUSB,這些單片機(jī)采用開(kāi)發(fā)者熟悉的結(jié)構(gòu)和指令集,處理能力強(qiáng),構(gòu)成系統(tǒng)的電路簡(jiǎn)單,調(diào)試方便,是目前常用的一種方案。 第 3 章 USB 數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì) 系統(tǒng)的模擬開(kāi)關(guān)、 A/D 轉(zhuǎn)換器均采用傳統(tǒng)的設(shè)計(jì)方法 。如果設(shè)備有多個(gè)配置,驅(qū)動(dòng)程序通常也要全部讀出。 6.在 USB 設(shè)備接受設(shè)備地址之前,它的缺省控制通道 (Default Control Pipe)在缺省地址處自然是可尋址的,主機(jī)通過(guò)讀取設(shè)備描述表,判決設(shè)備缺省通 道的地址。這時(shí) USB 設(shè)備處于缺省狀態(tài),并且可從 VBUS 汲取小于 100mA 的電流 ,所有設(shè)備寄存器及狀態(tài)己經(jīng)被復(fù)位,設(shè)備可對(duì)缺省地址產(chǎn)生響應(yīng)。 4.集線器將發(fā)向端口的復(fù)位信號(hào)持續(xù) 10ms。 3.主機(jī)一旦得知新設(shè)備已連上以后,它至少等待 100ms 以使得插入操作的完成以及設(shè)備電源穩(wěn)定工作。此時(shí), USB 設(shè)備處于加電狀態(tài),它所連接的端口是無(wú)效的。另外, USB 設(shè)備必須在所連接的集線器端口失效時(shí)進(jìn)入掛起狀態(tài),這就是所謂的選擇性掛起 (Selective Suspend)。 I/O 設(shè)備要先驅(qū)動(dòng)一個(gè)遠(yuǎn)程喚醒信號(hào)向它的本地集線器報(bào)警,集線器再把這個(gè)信號(hào)傳到根集線器,喚醒主機(jī)。例如,若 I/O 設(shè)備是一部電話,電話鈴響,它就要喚醒主機(jī)。 I/O 設(shè)備也可以使 PC 主機(jī)走出睡眠狀態(tài),這種能力稱為REMOTE_WAKEUP。如果主 機(jī)關(guān)機(jī),則沒(méi)有必要使大多數(shù) I/O 設(shè)備保持加電狀態(tài)。 總線沒(méi)有活動(dòng)的時(shí)間達(dá)到 3ms,表明主機(jī)已經(jīng)停止發(fā)送 SOF 包。 (6) 掛起狀態(tài) 如果一個(gè) I/O 設(shè)備檢測(cè)到總線沒(méi)有活動(dòng)的時(shí)間達(dá)到 3ms,它就要轉(zhuǎn)移到低功耗的掛起狀態(tài),在這個(gè)狀態(tài)下它從總線取得的電流不大于 。 需要注意的是,即 使是在 I/O 設(shè)備已經(jīng)處于設(shè)置的狀態(tài),主機(jī)仍然可以發(fā)送控制請(qǐng)求。在USB 設(shè)備正常工作以前,設(shè)備必須被正確配置。這些工作完成后設(shè)備將進(jìn)入配置完成狀態(tài) (簡(jiǎn)稱配置狀態(tài) )。當(dāng) USB 設(shè)備處于掛起狀態(tài)時(shí),它仍然保持這個(gè)地址不變。 (4) 地址狀態(tài) 地址狀態(tài)表示設(shè)備獲得一個(gè)唯一的設(shè)備地址??偩€的缺省地址 0 是被總線上所有設(shè)備共享的,每一個(gè)時(shí)刻只能有一個(gè)設(shè)備處于缺省狀態(tài),這種按次序占用總線缺省地址的功能一般由集線器驅(qū)動(dòng)程序?qū)崿F(xiàn)。設(shè)備在加電以后,端口在收到復(fù)位信號(hào)之前不應(yīng)響應(yīng)總線的任何傳輸,因?yàn)樗€沒(méi)有地址。 當(dāng)設(shè)備處于加電狀態(tài)后,集線器發(fā)出一個(gè)復(fù)位命令,激活連接端口,使連接的設(shè)備可以與主機(jī)進(jìn)行通信,這時(shí)設(shè)備進(jìn)入缺省狀態(tài)。一個(gè)設(shè)備可以既支持自供電模式,又支持總線供電模式。通過(guò)總線的端口獲得電源的模式稱為 總線供電模式 (Buspowered)。 USB 的 設(shè)備 狀態(tài) USB 設(shè)備狀態(tài)共有 6 個(gè),分別是連接 (Attached)、加電 (Powered)、缺省(Default)、地址 (Address)、配置 (Configured)和掛起 (Suspended),下面將分別對(duì)各個(gè)狀態(tài)的具體含義進(jìn)行介紹: (1) 連接狀態(tài) 連接狀態(tài)又稱接入狀態(tài),表示設(shè)備剛接入集線器的某下游接口上,如果此集線器是配置好的,集線器會(huì)通過(guò)中斷傳輸通知給運(yùn)行于主機(jī)端的集線器驅(qū)動(dòng)程序,設(shè)備進(jìn)入加電狀態(tài);否則設(shè)備將停留在接入狀態(tài)。如果 USB 有較多的空閑帶寬 0 則批量傳送發(fā)生地相對(duì)頻繁,如果空閑帶寬較少,則可能有很長(zhǎng)時(shí)間沒(méi)有批量傳送發(fā)生。中斷傳送 支持像游戲手柄,鼠標(biāo)和鍵盤等輸入設(shè)備,這些設(shè)備與主機(jī)間數(shù)據(jù)傳輸量小 ,無(wú)周期性,但對(duì)響應(yīng)時(shí)間敏感,要求馬上響應(yīng)。長(zhǎng)度為 0 的數(shù)據(jù)凈荷區(qū)的傳送是合法 的,而且對(duì)某些實(shí)現(xiàn)是很有用的。如果端口無(wú)數(shù)據(jù)需要中斷傳送,就請(qǐng)求其回送一個(gè) NAK 信號(hào)。要在 USB 上進(jìn)行中斷傳送,必須在每個(gè)周期對(duì)端口進(jìn)行訪問(wèn)。一般的應(yīng)用包括USB 的鍵盤、鼠標(biāo)、游戲桿和集線器的狀態(tài)報(bào)告。 (3) 中斷傳送 中斷傳送是低頻率、固定延遲的通信??紤]到總線的錯(cuò)誤率較低,協(xié)議認(rèn)為傳送一般均能成功。一般情況下,可以由握手信號(hào)來(lái)通知發(fā)送者包是否被成功的接收。等時(shí)傳送不支持因總線 錯(cuò)誤而進(jìn)行的重傳。只有高速設(shè)備可以使用等時(shí)傳送。所以,一旦一個(gè)控制通道被確認(rèn)之后,這個(gè)通道就使用了具有某個(gè)端點(diǎn)號(hào)的兩個(gè)端點(diǎn),一個(gè)輸入,一個(gè)輸出。控制傳送一般由三個(gè)階段組成 :首先是設(shè)置階段,通過(guò) (Setup Stage)包建立聯(lián)系,把請(qǐng)求信息從主機(jī)傳到它的應(yīng)用設(shè)備;接下來(lái)是數(shù)據(jù)階段(Data Stage),零個(gè)或多個(gè)數(shù)據(jù)傳送事物按照 Setup 包中指明的方向傳送數(shù)據(jù);最后是狀態(tài)信息的回傳,應(yīng)用 設(shè)備將狀態(tài)信息傳到主機(jī)。一旦為這個(gè)端點(diǎn)建立 了一個(gè) 通道,這個(gè)通道的絕大多數(shù)傳送特征也就固定下來(lái)了,一直到這個(gè)通道被取消為止。 USB 協(xié)議中規(guī)定了四種不同的數(shù)據(jù)傳送類型,每種傳送類型在以下的幾個(gè)傳送特征上會(huì)有不同: ● USB 規(guī)定的數(shù)據(jù)格式; ● 信息流的方向; ● 數(shù)據(jù)凈荷區(qū)的長(zhǎng)度限制; ● 總線訪問(wèn)的限制; ● 延時(shí)的限制; ● 出錯(cuò)處理。在消息通道中傳遞的數(shù)據(jù)具有 USB 定義的格式,它在數(shù)據(jù)凈荷區(qū)中包含的數(shù)據(jù)允許具有設(shè)備指定的格式。目前 USB 設(shè)備是 USB 總線中發(fā)展最快的部分,常見(jiàn) USB 外設(shè)有:鼠標(biāo)或光筆、鍵盤等。在功能部件使用前,主機(jī)要對(duì)其進(jìn)行設(shè)置。 USB 設(shè)備是帶有 USB 接口并可以完成特定功能的外設(shè),它通過(guò) USB 總線發(fā)送和接收數(shù)據(jù) /控制信息。 此外,集線器負(fù)責(zé)為其下行端口管理電源,并將所有的電源問(wèn)題報(bào)告給主機(jī)從而通知用戶。 集線器可以檢測(cè)其下行端口上的連接與斷開(kāi)情況,并將此信息報(bào)告給主機(jī)。集線器直接負(fù)責(zé)支持能使 USB 用戶友好并讓用戶方便易用的各種屬性。 USB 集線器最基本的作用是作為與設(shè)備融合為
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1