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

正文內(nèi)容

基于stm32的智能建筑以太網(wǎng)與rs232數(shù)據(jù)傳輸網(wǎng)關(guān)的設(shè)計(jì)(編輯修改稿)

2024-08-15 10:13 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 5 STM32的功能 及優(yōu)勢(shì) 有專門 以太網(wǎng) MAC,還有 DMA 和硬件支持的 IEEE1588。所以是低成本的網(wǎng)絡(luò)化,還有精確的時(shí)鐘同步。 MII 或 RMII 的以太網(wǎng)物理 PHY 接口,因此,我們可以非常靈活的選擇物理 PHY 接口 。 OTG PHY 的 USB OTG 全速的接口,所以,具有 USB 主機(jī)的功能,不再需要外置的 USB OTG 或 PHY. PLL 模塊 , 配有 高級(jí) 的 時(shí)鐘配置方案 為外設(shè)提供服務(wù) , 目的就是為了更加的 靈活 ,而 且成本 也會(huì)更加的優(yōu)化。除此之外,我們也 可以 向 USB、 CAN 或者是 以太網(wǎng) MAC 提供時(shí)鐘 的控制 。 啟動(dòng)模式 非常的靈活 ,可以 向很多的設(shè)備提供啟動(dòng)的服務(wù),例如 CAN、 USART和 USB 等 設(shè)備 ,完全可以為這些設(shè)備的固件升級(jí)提供啟動(dòng)。正是由于它 靈活的通信接口,所以在我們的啟動(dòng)程序出現(xiàn)故 障,在無法 擦除 的情況下 , 它一樣的可以 保證新代碼的燒錄成功。 低功耗模式的靈活電源 ,還有時(shí)鐘管理。另外, 可編程喚醒功能的時(shí)鐘和 84 字節(jié)的后備數(shù)據(jù)寄存器 的存在 , 也是它的一大優(yōu)勢(shì)。正是因?yàn)?這個(gè)原因, 因此在運(yùn)行的過程中 ,甚至 在 待機(jī) 的狀態(tài) 時(shí) 都 會(huì)裁減應(yīng)用系統(tǒng),可以 使 性能和功耗 能長(zhǎng)期的保持在 一個(gè) 相對(duì) 平衡 的狀態(tài) ,電池可以 為 RTC 的運(yùn)行 提供充足的電能 ,同時(shí) 可以在 84字節(jié)后備寄存器中保持應(yīng)用程序關(guān)鍵數(shù)據(jù)。 80 個(gè) 5v 容忍的通用 I/O 口,還支持 10 個(gè)定時(shí)器的串口,其他的例如: CAN、 USB、 USRT和 以太網(wǎng) 等都收到它的支持。模擬功能一般包含 2個(gè) DAC,還有完整的電源監(jiān)控功能。因?yàn)?STM32 芯片的 互聯(lián)型產(chǎn)品 功能非常的齊全,是一個(gè)非常安全穩(wěn)定的 通信中樞器件,所以, 在進(jìn)行工作的時(shí)候,這些所有的功能模塊都是可以同時(shí)工作的。 第三章 網(wǎng)關(guān)硬件設(shè)計(jì) 6 第三章 網(wǎng)關(guān)硬件設(shè)計(jì) 總體框架設(shè)計(jì) 為了能夠極大地提高系統(tǒng)的穩(wěn)定性和可靠性,也為了能夠最大化地縮短開發(fā)時(shí)間和節(jié)約開發(fā)所花費(fèi)的費(fèi)用,在系統(tǒng)硬件的設(shè)計(jì)選型時(shí), 能選取一種既具有以太網(wǎng)接口,又具有 RS232 接口的芯片當(dāng)然是最好的結(jié)果了。因?yàn)楫?dāng)我們需要的芯片同時(shí)具有了以太網(wǎng)和 RS232 的功能,那么在實(shí)現(xiàn)以太網(wǎng)和 RS232 的數(shù)據(jù)傳輸?shù)臅r(shí)候,就會(huì)減少很多不必要的外圍電路的設(shè)計(jì)了。顯然,盡量的減少對(duì)外圍電路的設(shè)計(jì),會(huì)減少我們?cè)O(shè)計(jì)的一大部分時(shí)間。 這樣大大地提高了系統(tǒng)的利用率,同時(shí)也減少了成本。因此,為了實(shí)現(xiàn)項(xiàng)目的開發(fā)要求,選用控制系統(tǒng)開發(fā)芯片 STM32f107 作為系統(tǒng)控制主芯片,它不僅廣泛地用于工業(yè)方面,而且自身功能非常的強(qiáng)大。 對(duì)于 STM32F107 芯片來說,他不僅功能非常的強(qiáng)大,而且性價(jià)比也 是 非常的高。它主要是以 CotexM3 內(nèi)核 為基礎(chǔ)而存在 的 32 位閃存微控制器, 它所采用的指令也是非常的高 端,是一種 高代碼 、 高性能密度的指令集, 除此之外,還運(yùn)用到了一個(gè)叫作 緊藕合嵌套向量中斷控制器。 一般來說,配有 一個(gè) RMII 接口 ,還有以太網(wǎng)接口和 RS232 接口。正是因?yàn)樗呐渲谬R全,所以它的優(yōu)點(diǎn)就是低功耗,低成本和高性能等等。 設(shè)計(jì)的網(wǎng)關(guān)電路 將系統(tǒng)分為四個(gè)模塊設(shè)計(jì) 如 下 : 圖 31 網(wǎng)關(guān)電路 模塊結(jié)構(gòu)框 由圖 31 可知, 以太網(wǎng) 可以通過雙絞線與 STM32 芯片 相連,而 RS232 接口也 與 STM32芯片 相連。這樣一來,我們的 以太網(wǎng)就可以很容易地通過 STM32F107 芯片與 RS232 之間形成信息交換了。 當(dāng)以太網(wǎng)需要 傳送數(shù)據(jù)到 RS232 的時(shí)候,或者 RS232 需要傳送數(shù)據(jù)到以太網(wǎng)的時(shí)候, STM32 芯片就顯得格外的重要,因?yàn)樗菂f(xié)議轉(zhuǎn)換的控制中心,第三章 網(wǎng)關(guān)硬件設(shè)計(jì) 7 不管是轉(zhuǎn)換成以太網(wǎng)數(shù)據(jù)包還是 RS232 幀的數(shù)據(jù),都是需要 STM32 來進(jìn)行協(xié)議轉(zhuǎn)換的。所以必須對(duì)以上各個(gè)模塊進(jìn)行嚴(yán)謹(jǐn)?shù)脑O(shè)計(jì),才能使數(shù)據(jù)能夠順利的傳輸。 電源模塊設(shè)計(jì) 在實(shí)驗(yàn)的設(shè)計(jì)過程中,要想使實(shí)驗(yàn)中的各個(gè)模塊能夠正常的運(yùn)行 ,就需要對(duì)STM32F107 芯片 提供有效 且充足 的電源。對(duì)于 STM32F107 開發(fā)板來說,供電方式一般有兩種:第一種是 5v 電源適配器進(jìn)行供電;第二種是 USB 串口進(jìn)行供電。而本設(shè)計(jì)主要用到的是 5v 電源適配器供電。當(dāng)我們直接把適配器的一端插在 220v 的插座上,一端接在 STM32F107 芯片 的 J6 上時(shí),就能對(duì) STM32 芯片 提供 5v 的電壓了。電路圖如下: 圖 32 5v 適配器供電電路 而無論我們采取什么樣的供電方式對(duì) STM32 芯片 進(jìn)行供電,最后都會(huì)把 5v 的電源轉(zhuǎn)換為 的電源為系統(tǒng)進(jìn)行供電。因此,我們選取 SPX1117 芯片來實(shí)現(xiàn)對(duì) STM32 芯片 電壓的轉(zhuǎn)換, SPX 芯片是一種常用的 穩(wěn)壓芯片,能夠產(chǎn)生 的穩(wěn)壓電源,對(duì)我們系統(tǒng)的正常運(yùn)行至關(guān)重 要。轉(zhuǎn)換電路如下: 圖 33 5v 轉(zhuǎn) 電路 第三章 網(wǎng)關(guān)硬件設(shè)計(jì) 8 JTAG 下載電路 JTAG 的主要功能有兩種:一種是對(duì)系統(tǒng)仿真調(diào)試,另一種是芯片內(nèi)部測(cè)試, 一般來說, 標(biāo)準(zhǔn)的 JTAG 接口包括 四線: 第一條是 TD0(測(cè)試數(shù)據(jù)輸出) 、 第二條是 TDI(測(cè)試數(shù)據(jù)輸入) 、 第三條是 TMS(測(cè)試模式選擇) 、 第四條是 TCK(測(cè)試時(shí)鐘)。 JTAG 有 14 針的接口和 20 針的接口,在本次設(shè)計(jì)當(dāng)中,我們采用的是 20 針的接口來進(jìn)行調(diào)試電路和下載程序。詳細(xì)的接口電路圖如下: 圖 34 JTAG 下載電路 復(fù)位電路 復(fù)位電路是一 個(gè)很簡(jiǎn)單的電路,如下電路圖所示,當(dāng)按下開關(guān) S2 的時(shí)候,電路接通,復(fù)位引腳電平就會(huì)降低,因此就達(dá)到了系統(tǒng)復(fù)位的效果。一般來說,復(fù)位電路有兩個(gè)作用,即可以對(duì)系統(tǒng)上電進(jìn)行復(fù)位,又可以在系統(tǒng)運(yùn)行過程中,通過按鍵來進(jìn)行手動(dòng)復(fù)位。 第三章 網(wǎng)關(guān)硬件設(shè)計(jì) 9 圖 35 復(fù)位電路 以太網(wǎng)模塊電路設(shè)計(jì) 當(dāng)在實(shí)際的模塊與模塊間的設(shè)計(jì)過程中,怎樣解決 STM32F107 芯片和以太網(wǎng)之間的連接,將是我們需要重視的問題。對(duì)于這個(gè)設(shè)計(jì)而言,必須在芯片和以太網(wǎng)間加一個(gè)物理層的接口芯片才能完成連接,因此我們選取一個(gè)能支持 MII(介質(zhì)無關(guān)接口)和 RMII(精簡(jiǎn)的介質(zhì)無關(guān)接口)的 DP83848C 芯片,這是一款功能齊全,功耗低的單路物理層器件,它所具有的 MII 和 RMII 接口,可以讓我們的設(shè)計(jì)變得更加的簡(jiǎn)單。除此之外,這個(gè)芯片還支持 10BASET和 100BASETX的以太網(wǎng)外設(shè),對(duì)于任何以太網(wǎng)的問題都有很好的兼容性和通用性。下面是 STM32 芯片與 DP83848C 芯片的以太網(wǎng)接口硬件連接圖: 圖 36 STM32F107 以太網(wǎng)接口硬件連線設(shè)計(jì) RS232通訊電路設(shè)計(jì) 一般來說, STM32F107 芯片 的接口電路的電平為 1TL,但是標(biāo)準(zhǔn)的 RS232 電平是采用負(fù)邏輯形式的,顯然和 1TL 與 COMS 電平是完全不一樣的,且規(guī)定 +3+15v 間的電平為第三章 網(wǎng)關(guān)硬件設(shè)計(jì) 10 邏輯“ 0”電平,而 315v 間的電平為邏輯“ 1”電平。所以在設(shè)計(jì)通信的過程中必須采用電平轉(zhuǎn)換的方法,以便使兩者的電平相配。因此,在這次設(shè)計(jì)中,我們采用的是 SP3232芯片來完成電平的轉(zhuǎn)換工作。詳細(xì)的電平轉(zhuǎn)換電路圖如下: 圖 37 RS232 電平轉(zhuǎn)換電路第四章 軟件介紹 11 第四 章 軟件介紹 LWIP 協(xié)議棧簡(jiǎn)介 在網(wǎng)絡(luò)傳輸中,為了順利地完成通訊,必須使用具有多層 以上的多種協(xié)議,這些協(xié)議按一定的層次順序組合在一起, 便會(huì)組成 一個(gè)協(xié)議棧( Protocol STack)了, 換句話說,也叫 協(xié)議族( Protocol Suite)。 LWIP 協(xié)議 其實(shí) 主要是一種 專門適用于嵌入式系統(tǒng)的 TCP/IP 協(xié)議棧 , 它的通俗意思 就是大家都熟悉的 Light Weight(輕型) IP 協(xié)議,在運(yùn)行的范圍方面,即可以移植到操作系統(tǒng)上運(yùn)行,也可以在沒有操作系統(tǒng)的情況下獨(dú)立的運(yùn)行。 LWIP 的主要目地 其實(shí)只有一個(gè),那就是能夠最大化的 減少存儲(chǔ)器利用量和代碼的尺寸, 一般情況下, LWIP 協(xié)議 能夠在只有 幾十 K 的 RAM 的情況下, 或者 在只有 40K左右的 ROM 的情況下 就可以 正常的運(yùn)行, 正因?yàn)槿绱耍?LWIP 協(xié)議就可以很容易的 適合于空間 小的 和 資源有限的處理器, 例 如嵌入式系統(tǒng)。 為了符合 減少處理器和存儲(chǔ)器的 設(shè)計(jì)要求, LWIP 可以利用 不需要任何拷貝的 API 進(jìn)行裁減。 TCP/IP 協(xié)議是一個(gè)縮寫的名稱,其實(shí)它的全名 叫 做 傳輸控制 /因特網(wǎng)互聯(lián)網(wǎng)協(xié)議( Transmission Control Protocol/Inter Protocol),它對(duì) Inter 來說是非常的重要的,因?yàn)樗?互聯(lián)網(wǎng)絡(luò)的基礎(chǔ),也是 人們運(yùn)用的 最基礎(chǔ)的 傳輸 協(xié)議, 它的 組成 單元包括兩種 : 第一種是 網(wǎng)絡(luò)層的 IP 協(xié)議 ,第二 種是 傳輸層的 TCP 協(xié)議。 pbuf 結(jié)構(gòu)體定義 LWIP 協(xié)議棧中的數(shù)據(jù)包是用 pbuf 結(jié)構(gòu)體來進(jìn)行定義的,該結(jié)構(gòu)體的主要定義如下面所述: Struct pbuf{ Struct pbuf*next; Void*payload; u16_t tot_len; u16_t len; u8_t type; u8_t flags; u16_t ref; } Next 指針 的作用主要是 指向下一個(gè) 需要用到的 pbuf 數(shù)據(jù)包 ,其中, 當(dāng)你要運(yùn)用當(dāng)前的數(shù)據(jù)包的時(shí)候,就需要用到 payload 指針, 而當(dāng)前的 pbuf 長(zhǎng)度則需要 totl_en 來表示,第四章 軟件介紹 12 在 pbuf 鏈中接下來的 pbufs 的所有 len 領(lǐng)域的總數(shù) 也是需要 totl_en 來表示的 , 然而當(dāng)前 pbuf 的長(zhǎng)度 則是需要利用 len 來表示的 , flags 和 type 表示的是 pbuf 的類型,具體來說, pbuf 具有三種類型,分別是 pbuf ram、 pbuf rom 和 pbuf pool, ref 則包含一個(gè)參考計(jì)數(shù)。 LWIP 協(xié)議棧中各層的實(shí)現(xiàn) 的 接口: next 指針 一般會(huì)指向它的下一個(gè)接口 , ip_addr 表示的是 ip 地址,mask 表示的是子網(wǎng)掩碼, gw 則表示的是默認(rèn)網(wǎng)關(guān)。他們?nèi)?個(gè)都是 都是由 IP 層調(diào)用的。當(dāng)硬件接收到數(shù)據(jù)包的時(shí)候, 系統(tǒng) 就會(huì) 馬上 調(diào)用 input 指針指向該 函數(shù) 了 ;反之,當(dāng) IP 模塊有數(shù)據(jù)包發(fā)送的時(shí)候,就會(huì)調(diào)用 output 指針指向的函數(shù);當(dāng) ARP 模塊有數(shù)據(jù)包發(fā)送時(shí),同樣會(huì)調(diào)用 linkoutput 指針指向的函數(shù)。除此之外, if 還定義了一些狀態(tài)回調(diào)函數(shù),只有當(dāng)配置了該功能時(shí),才會(huì)使用。 層:在 IP 層中, LWIP 僅僅能夠發(fā)送 、 接收和轉(zhuǎn)發(fā)包,基本可以完成 IP 的基本功能,但是,它卻不能夠接收和發(fā)送已經(jīng)被分割的 IP 包,還有一些帶 IP 選項(xiàng)的包它也不能夠處理。 所以,在需要接收 IP包的時(shí)候,我們需要先調(diào)用 ip_input()函數(shù),然后,函數(shù)再通過網(wǎng)絡(luò)接口的 IP 地址去檢驗(yàn)?zāi)康牡刂?,以確保數(shù)據(jù)包是否被發(fā)往主機(jī)。當(dāng)發(fā)送 數(shù)據(jù) 包時(shí) ,是 需要調(diào)用函數(shù) ip_output() 來完成接下來的流程,它可以啟用合適的 函數(shù) ip_route()去尋
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1