/產初始化RTL8019AS,PAGE2寄存器只讀,PAGE3寄存器不是NE2000兼容的,均不用設置材/使用0x40-0x4b為網卡的發送緩沖區,共12頁,剛好存儲2個最大的以太網數據包。使用0x4c-0x7f為網卡的接收緩沖區,共52頁,因此PSTART=0x4c,PSTOP=0x80(0x80為停止頁,接收緩沖區直到Ox7f,不包括0x80),剛開始時,網卡沒有接收到任何數據包,因此BNRY設置為指向第一個接收緩沖區的頁0x4c)*/void RTL8019lnitO REG00=0×21;/選擇頁0的寄存器,網卡停止運行,因為還沒有初始化REGO1=Ox4c;/寄存器PSTART,設置接收緩沖區的起始頁的地址REG02=0×80;/寄存器PSTOP,設置接收緩沖區的結束頁的地址REG03=0x4c;//寄存器BNRY,設置為指向第一個接收緩沖區的頁Ox4c(用作讀指針)REG04=0x40;/寄存器TPSR.發送起始頁地址初始化為指向第一個發送緩沖區的頁REGOx=0xce;/*接收配置寄存器RCR,設置為僅接收自己地址的數據包以及廣播地址和多點播送地址數據包,小于64字節的包丟棄,校驗錯的數據包不接收材REG0d=0xe0;/發送配置寄存器TCR,設置為啟用crc自動生成和校驗,正常模式工作REG0e=0xc8;/*數據配置寄存器DCR,設置為使用FIFO緩存,普通模式,8位數據傳輸,字節順序為高位字節在前,低位字節在后*制REGOf=0x00;/中斷屏蔽資存器IMR,設置為屏蔽所有中斷SelectPage(l);/選擇頁l的寄存器REG07-0x4d;/寄存器CURR.設置為指向當前正在寫的頁的下一頁(用作寫指針)
上傳時間: 2022-06-24
上傳用戶:
一.SPI總線簡介串行外圍設備接口SPI(serial peripheral interface)總線技術是Motorola公司推出的一種同步串行接口。SPI用于CPU與各種外圍器件進行全雙工、同步串行通訊。它只需四條線就可以完成MCU與各種外圍器件的通訊,這四條線是:串行時鐘線(CSK、主機輸入/從機輸出數據線(MISO)、主機輸出/從機輸入數據線(MOSI)、低電平有效從機選擇線CS。當SPI工作時,在移位寄存器中的數據逐位從輸出引腳(MOSl)輸出(高位在前),同時從輸入引腳(MISO)接收的數據逐位移到移位寄存器(高位在前)。發送一個字節后,從另一個外圍器件接收的字節數據進入移位寄存器中。即完成一個字節數據傳輸的實質是兩個器件寄存器內容的交換。主SPI的時鐘信號(SC)使傳輸同步。其典型系統框圖如下圖所示。
上傳時間: 2022-06-25
上傳用戶:
論文以松下FP1系列PLC為研究對象,對其MEWTOCOL-COM協議,有關遠程測控系統開發,以及PLC指令的機器代碼進行系統研究,并在此基礎上開發B/S模式的Web遠程測控系統。論文首先介紹了PLC的運用領域和發展前景;其次對MEWTOCOL-COM協議進行了系統的研究分析,以實驗統計的方式,得出了PLC基本指令的機器代碼表;接著基于LABVIEW10.0,開發了PLC與上位機的人機界面,簡單實現了上位機對PLC端口,寄存器,定時器以及布爾命令的讀寫功能。接下來又介紹了通訊原理和通訊模式,描述了LABVIEW10.0中的通訊函數,然后以16盞流水燈為例子,先在向PLC輸入梯形圖,然后在通訊系統上對PLC的進行監控,以16盞布爾燈顯示其運行過程。接著比較分析了Date Socket通訊,TCP通訊和Web通訊的優缺點,并解釋了最終通訊方案選擇的原因。最后基于Web通訊技術實現了PLC與上位機的遠程通訊。本文技術對進一步研發PLC與上位機通訊系統提供了一定的借鑒作用,尤其機代碼的測定在后續進一步開發通訊界面提供了新的方向。
上傳時間: 2022-06-25
上傳用戶:得之我幸78
本文開發的上位機軟件是在VS2010平臺上基于MFC框架開發,并進行了以下幾個方面的分析、設計與實現。首先對邊界掃描原理進行了研究,如TAP端口、TAP控制器、指令寄存器和數據寄存器等。在對原理有一定的了解后,分析了三種邊界掃描測試電路擴展方式和邊界掃描測試的流程。同時也對網表文件和BSDL文件的格式進行了分析,為之后對這兩種文件進行讀取做好準備。接著對邊界掃描測試系統的總體設計進行了分析,同時對上位機軟件的需求進行了分析。需求分析是軟件開發的重要環節,能對之后的軟件具體開發工作起到事半功倍的作用。然后就是對上位機軟件的具體設計和實現部分,本文把上位機軟件主要分為4個模塊:測試文件處理模塊、測試矢量生成模塊、USB通信模塊和項目管理與界面設計模塊。測試文件處理模塊分為BSDL文件處理和網表文件處理,分別實現了對BSDL文件的通用性解析和對多種EDA軟件導出網表文件的解析:測試矢量生成模塊實現了對ID碼指令、采樣指令和外測試指令的測試矢量生成:USB通信模塊利用Cypress(賽普拉斯)公司提供的CyAPI實現了USB通信類的編寫,實現了與測試控制器的通信;項目管理與界面設計模塊實現了工程文件的可移植性和友好的操作界面。最后通過對上位機軟件、測試控制器和被測電路板進行聯合調試,調試結果表明本文開發的上位機軟件能夠實現預期的需求,即ID碼測試、動態顯示管腳狀態和設置管腳狀態等功能。
上傳時間: 2022-06-26
上傳用戶:
以安裝文件提供,先執行安裝文件,然后到安裝目錄,打開需要的資源,程序是IAR的,編譯能通過,程序注釋很清晰,適合相關人員學習。CPU硬件平臺:ST STM32F105VBdspin.h 文件,對寄存器結構做了詳細的定義,對程序的易讀性有很大的幫助:typedef struct{ uint32_t ABS_POS; uint16_t EL_POS; uint32_t MARK; uint32_t SPEED; uint16_t ACC; uint16_t DEC; uint16_t MAX_SPEED; uint16_t MIN_SPEED; uint16_t FS_SPD; uint8_t KVAL_HOLD; uint8_t KVAL_RUN; uint8_t KVAL_ACC; uint8_t KVAL_DEC; uint16_t INT_SPD; uint8_t ST_SLP; uint8_t FN_SLP_ACC; uint8_t FN_SLP_DEC; uint8_t K_THERM; uint8_t ADC_OUT; uint8_t OCD_TH; uint8_t STALL_TH; uint8_t STEP_MODE; uint8_t ALARM_EN; uint16_t CONFIG; uint16_t STATUS;}dSPIN_RegsStruct_TypeDef;同時對過電流的門限值做了通俗易懂的定義,總之是L6470入門編非常好的資料。
上傳時間: 2022-06-30
上傳用戶:1208020161
基于Proteus仿真前言:本文詳細介紹了DS18B20原理,并在后面舉例說明了其在單片機中的應用,所舉例子包含Proteus仿真電路圖,源程序,程序注釋詳細清楚。1、DS18B20簡介:DS18B20溫度傳感器是DALLAS公司生產的1-wire式單總線器件,具有線路簡單,體積小的特點,用它組成的溫度測量系統線路非常簡單,只要求一個端口即可實現通信。溫度測量范圍在一55℃~+125℃之間,分辨率可以從9~12位選擇,內部還有溫度上、下限報警設置。每個DS18B20芯片都有唯一的序列號,所以可以利用多個DS18B20同時連接在同一條總線上,組成多點測溫系統。但最多只能連接8個,如果數量過多,會使供電電源電壓過低,從而造成信號傳輸的不穩定。2、DS18B20結構:如右圖所示,DS18B20有三只引腳,VCC、DQ和GND。DQ為數字信號輸入/輸出端(DQ一般接控制器(單片機)的一個1/0口上,由于單總線為開漏所以需要外接一個4.7K的上拉電阻);GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。DS18B20內部結構主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發的溫度報警觸發器TH和TL、配置寄存器。光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位是產品類型標號,接著的48位是該DS1B20自身的序列號,最后8位是前面56位的CRC校驗碼(循環冗余校驗碼)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現一根總線上掛接多個DS18B20的目的。溫度傳感器可完成對溫度的測量,以12位轉化為例,用16位符號擴展的二進制補碼讀數形式提供。
上傳時間: 2022-07-02
上傳用戶:
網上的資源,但是么有word形式。想免費分享,但必須有1積分。 FOC主要是通過對電機電流的控制實現對電機轉矩(電流)、速度、位置的控制。通常是電流作為最內環,速度是中間環,位置作為最外環。本程序是DSP2812控制永磁同步電機高精度控制代碼,根據Uref實際所在的扇區,確定Tx和Ty實際所對應的電壓矢量,就可以計算出T1,T2,T3的值;然后再根據Uref所在的扇區畫出類似圖十三的三相PWM波形,就可以確定T1,T2,T3分別對應到三相A,B,C的哪一個通道,再賦值給對應通道的捕獲比較寄存器,就完成了SVPWM算法。適合從事電機控制方面工作的研發人員作為參考學習使用。
上傳時間: 2022-07-04
上傳用戶:
1.深入研究PCIe和千兆以太網,了解PCIe和千兆以太網的技術優勢,具體分析PCle和千兆以太網的傳輸協議,詳細說明PCleTLP數據包格式和以太網標2.完成PCIe DMA數據傳輸系統設計。設計方案主要包括兩大部分,分別是FPGA端Verilog邏輯模塊開發以及PC端的驅動和C應用程序開發。FPGA端基于PCle IP Core完成了發送接收引擎模塊、寄存器讀寫控制模塊和FIFO讀寫控制模塊的設計。定義了相應模塊的接口,并分析了數據傳輸的時序。PC端采用WinDriver進行PCle的驅動開發,并根據WinDriver提供的驅動API函數完成C應用程序的設計。3.完成千兆以太網數據傳輸系統設計。設計方案也主要包括兩大部分,分別是FPGA端Verilog邏輯模塊開發以及PC端Winpcap應用程序開發。FPGA端基于嵌入式三態以太網MACIPCore,設計了發送接收引擎模塊、FIFO讀寫控制模塊和物理接口模塊。定義了相應模塊的接口,并分析了數據傳輸經過Locallink接口和Client用戶接口上的傳輸時序。PC端采用Winpcap提供的網絡編程完成了C應用程序的設計,實現了捕獲FPGA端發送的數據包以及發送原始數據包至FPGA端的功能。4.PCIe DMA數據傳輸系統和千兆以太網數據傳輸系統在Xilinx ML507開發板上進行了性能測試。記錄FPGA與PC間進行讀寫測試的結果,驗證這兩個系統的可用性和穩定性,最后分析了影響系統傳輸速率的原因以及系統目前仍存在的不足。
上傳時間: 2022-07-11
上傳用戶:xsr1983
在網上看到的別人寫的一個基于STM32的MODBUS程序,還不錯,發上來分享一下。順便賺賺積分用于下載其他朋友的資料。 此Modbus協議暫時只支持RTU模式,只支持作為Modbus從設備。 暫時支持的功能碼(16進制)如下表所示: 01.讀線圈狀態(讀多個輸出位的狀態,有效地位為0-31) 02.讀輸入位狀態(讀多個輸入位的狀態,有效地位為0-31) 03.讀保持寄存器(讀多個保持寄存器的數值,有效地位為0-99) 04.讀輸入寄存器(讀多個輸入寄存器的數值,有效地址為0-1) 05.強制單個線圈(強制單個輸出位的狀態,有效地位為0-31) 06.預制單個寄存器(設定一個寄存器的數值,有效地址為0-99) 0F.強制多個線圈(強制多個輸出位的狀態,有效地址為0-31) 10.預制多個寄存器(設定多個寄存器的數值,有效地址為0-99)暫時支持的錯誤代碼為: 01 不合法功能代碼從機接收的是一種不能執行功能代碼。發出查詢命令后,該代碼指示無程序功能。(不支持的功能代碼) 02 不合法數據地址接收的數據地址,是從機不允許的地址。(起始地址不在有效范圍內) 03 不合法數據查詢數據區的值是從機不允許的值。(在起始地址的基礎上,這個數量是不合法的)
上傳時間: 2022-07-12
上傳用戶:
手動開關手動開關沒有自動切換為直接的但它提供給用戶的切換事件時間的精確控制。參照圖20中的流程圖。1。寫使用系統時鐘開關選擇目標時鐘源的8位值寄存器(clk_swr)。然后swbsy位是由硬件,和目標源振蕩器開始。古老的時鐘源繼續驅動CPU和外設。2。該軟件具有等到目標時鐘源準備(穩定的)。這是在clk_swcr寄存器和快捷旗由中斷如果swien位設置顯示。3。最終軟件的作用是設置,在所選擇的時間,在clk_swcr的賽文點寄存器來執行開關。在手動和自動切換模式,舊的系統時鐘源不會自動關閉的情況下是由其他模塊(LSI混凝土可用于例如獨立的看門狗驅動)。時鐘源可以關機使用在內部時鐘寄存器的位(clk_ickcr)和外部時鐘寄存器(clk_eckcr)。如果時鐘開關不因任何原因的工作,軟件可以通過清除swbsy標志復位電流開關操作。這將恢復clk_swr注冊到其以前的內容(舊的系統時鐘)。注意:在清理swbsy標志具有復位時鐘主開關的程序,應用程序必須等到后產生新的主時鐘切換請求之前有一段至少兩個時鐘周期。
標簽: stm8l
上傳時間: 2022-07-17
上傳用戶:fliang