精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通過PIC單片機控制nRF2401和FT245BM芯片實現無線數據傳輸系統設計

電子設計 ? 來源:世界電子元器件 ? 作者:楊毓;王代華;祖 ? 2020-04-10 08:08 ? 次閱讀

引言

通信信息的交換平臺,在人們的工作和日常生活中起著重要的作用。傳統的通信技術是通過數據線和串口/并口將設備連接在一起,這樣就存在布線困難和其它不方便的因素。而且傳統的RS232串口通迅和并口通訊都存在傳輸速度低、接口的連接過于復雜等不足。本文所設計的基于USB接口的無線數據傳輸系統利用了USB接口的高傳輸速率、即插即用等優點,并結合了無線數據傳輸技術,實現了計算機之間的無線數據通訊,解決了傳統通信技術帶給我們的不便。

系統硬件設計

基于USB接口的無線數據傳輸系統總體方案如圖1所示,該系統由發射和接收兩部分組成。其中,發射(接收)系統由單片機控制射頻發射模塊和單片機控制USB芯片兩部分組成。系統的工作過程為:主機將數據通過USB接口傳給單片機,數據通過單片機的SPI口再傳給射頻發射模塊,最后由射頻發射模塊把數據發射出去。射頻接收端接收到符合的數據包后,通知單片機讀取數據,單片機將數據通過USB接口送給主機,這樣就完成了一包數據從發射端到接收端的傳輸。

通過PIC單片機控制nRF2401和FT245BM芯片實現無線數據傳輸系統設計

單片機控制nRF2401

nRF2401芯片工作在全球開放的2.4~2.5GHz ISM免申請頻段共125個頻點,可滿足多頻點和跳頻的需要;最高速率可達1Mbps,低功耗;發射功率和頻道參數可通過軟件設置完成。nRF2401內置地址解碼器、FIFO(先入先出棧區)、解調處理器、GFSK濾波器、低噪聲放大器、頻率合成器,功率放大器,晶體振蕩器等部分構成。nRF2401有兩種模式:Direct Mode(直接模式)和ShockBurst模式。ShockBurst技術采用芯片內部FIFO,數據以較低的速率存在FIFO中,再以很高的速率(1Mbps)將數據發射出去,因此它的功耗和成本都很低。nRF2401上的編程采用三線接口方式,單片機通過DATA,CLK1,CS三個引腳對nRF2401芯片進行初始化設置和數據的輸入輸出,單片機還可以通過PWR_UP,CE,CS三個引腳對其進行控制,使nRF2401進入不同的工作模式。nRF2401的DATA引腳是數據引腳,SCK引腳是時鐘引腳,在時鐘信號的配合下,單片機通過DATA引腳從nRF2401中讀取數據或者把數據寫入nRF2401。單片機與nRF2401連接如圖2所示。

首先對nRF2401進行參數配置,CS=1,CE=0,PWR_UP=1。bit[119:0]有120位需要配置。這里需要注意的是nRF2401一包數據的最大長度是256位(32Byte),數據段的位數=256-地址段的位數-CRC的位數。因此,要想在一包數據中傳輸盡可能多的數據段的位數,那么應該減少地址段的位數和CRC的位數。接下來進入突發模式:CS=0,CE=1,PWR_UP=1。通過模擬SPI口把數據和接收方的地址寫入nRF2401。注意該地址是接收方的地址。最后將CE置低,無線傳輸芯片把數據發射出去。

單片機對FT245BM的控制

FT245BM芯片是由FTDI(Future Technology Devices Intl Ltd)公司推出的第二代USB芯片,它的功能是實現USB接口與并行I/O接口之間數據的雙向傳輸。它由3.3V穩壓器,USB收發器,鎖相環,串行接口引擎(SIE),FIFO控制器,USB協議引擎,FIFO接收緩沖區,發送緩沖區,以及6M振蕩器,8倍頻時鐘倍頻器等組成。一方面,當外部設備有數據要傳給主機時,數據通過8位并行I/O接口傳給USB芯片內部的數據緩沖區,FT245BM再將8位并行數據轉化為串行數據,通過USB接口把數據發送給主機;另一方面,當主機有數據要給外部設備時,先將串行數據通過USB接口存儲在USB芯片內部緩存區中,FT245BM再將串行數據轉化為8位并行數據,然后通過8位I/O接口把數據傳給外部設備。單片機與FT245BM的連接如圖3所示。

單片機對FT245BM的控制是通過RXF#,RD#,TXE#,WR這四個讀寫控制信號完成的。當RXF#為低時,表示主機已經將至少1字節的數據發送到USB的接收緩存區,單片機只需將RD#信號由低置高,就可以把D0-D7上的數據讀到單片機的寄存器中。當TXE#為低時,表示單片機可以把1字節的數據寫入USB,只需把WR信號由高變低,就可以將D0-D7上的數據寫入USB的發送緩存區。注意,當TXE#為高時不可以將數據寫入USB,這時USB的發送緩存區中正在處理上一次寫入的數據或是發送緩存區已經寫滿。同樣,當RXF#為高時,也不能從USB芯片中讀取數據。

電路設計可采用總線供電和自供電兩種供電方式,總線供電方式是指FT245BM設備的電源是通過計算機的USB接口供給的,電流要通過該口流入FT245BM設備。自供電方式是指FT245BM設備的電源由自己提供,而不通過主機供給。如果采用總線供電方式,在電源端采用一個磁珠,可以減少主機和設備的干擾。同時,在電源端增加去耦和旁路電容,可以提高電路的抗干擾性。如果電路沒有外接一片EEPROM,FT245BM將采用默認的VID、PID、產品描述符和電源描述符。

軟件設計

發射端流程、接收端流程見圖4、圖5。

軟件設計

當 外設連接到主機上的USB接口時,主機會檢測到新硬件,這時需安裝一個由FTDI公司免費提供的D2XX驅動程序,在該驅動程序中包含了一個動態鏈接庫(DLL)。該DLL由四部分組成:Classic Interface Functions、EEPROM Interface、Extended API和FT-Win32 API。Classic Interface Functions中包括FT_Open、FT_Read、FT_Write、FT_Close、FT_SetTimeOuts等函數,其功能如表1所示。

調用FT_Open函數,打開設備。如果函數的返回值與FT_OK的值相等 ,那么函數調用成功,即USB設備被打開。調用FT_Read函數,從USB中讀取數據。在程序中應該設置一個字節型數組,用來存放從USB中讀取的1字節數據。調用之前需設置FT_SetTimeOuts函數的讀/寫操作時間,如果實際的讀操作時間超過了所設置的時間,那么認為讀數失敗;只有當規定讀入的字節數與實際讀入的字節數相等時,讀操作 才算徹底完成。調用FT_Write函數,把數據寫入USB中。在程序中應該設置一個字節型數組,用來存放要寫入USB發送緩存器的數據,數組的長度可以自行設定,但最好不要超過384個字節。只有當規定發送的字節數與實際發送的字節數相等時,寫數才算成功。調用FT_Close函數,關閉設備。如果函數的返回值與FT_OK的值相等 ,那么函數調用成功,即USB設備被關閉。

結論

本系統采用了nRF2401無線射頻芯片和USB接口芯片FT245BM,通過PIC單片機進行控制,在主機端用VB編寫了USB軟件,實現了兩臺計算機之間的無線數據傳輸,解決了傳統通信技術的不足,具有很好的應用前景。

責任編輯:gt


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6032

    文章

    44525

    瀏覽量

    633268
  • 射頻
    +關注

    關注

    104

    文章

    5551

    瀏覽量

    167582
  • 無線
    +關注

    關注

    31

    文章

    5437

    瀏覽量

    173104
收藏 人收藏

    評論

    相關推薦

    FT245BM芯片簡介

    FT245BM進行數據交換,FT245BM通過并行方式和下位微控制器通信。該芯片有如下特點:
    發表于 04-18 10:26

    nrf2401芯片單片機控制,若是用FPGA時序控制,注意哪些?

    如題,一般nrf2401芯片單片機控制,若是用FPGA時序控制,那么應該注意哪些?畢竟隨著時代的發展,FPGA的應用范圍將會越來越廣,那么
    發表于 03-12 13:05

    USB接口芯片FT245BM的功能及其應用

    概要通用串行總線USB(Universal Serial Bus)由于具有數據傳輸速率高、易于使用、支持熱插拔等特點,越來越成為一種流行的計算機通信接口。FT245BM芯片是由FTDI(Future
    發表于 12-20 11:02

    采用FT245BM和FPGA實現USB接口設計

    USB協議芯片FT245BM實現了FPGA與PC的USB通信,該方法不用微控制器,減少了元器件的個數,并且占用FPGA資源很少,FPGA
    發表于 04-22 07:00

    采用FT245BM和FPGA實現USB接口設計

    3.2.2發送狀態發送狀態完成的主要功能是將外設產生的數據通過FT245BM和USB總線傳送到PC。外設將
    發表于 04-22 07:00

    采用FT245BM和FPGA實現USB接口設計

    USB協議芯片FT245BM實現了FPGA與PC的USB通信,該方法不用微控制器,減少了元器件的個數,并且占用FPGA資源很少,FPGA
    發表于 04-26 07:00

    FT245BM中文資料,pdf datasheet

    FT245BM的主要功能是進行USB和并行I/O口之間的協議轉換。詳細介紹FT245BM芯片的工作原理、內部結構、引腳分布及功能;給出基于FT245BM接口電路的典型設計及驅動和應用軟
    發表于 06-16 08:43 ?234次下載

    基于PIC無線數據傳輸系統設計

    本論文以PIC單片機為核心部件,設計和開發了一套無線數據傳輸系統PIC
    發表于 08-07 08:18 ?32次下載

    基于nRF2401的分布式測溫系統設計

    利用溫度傳感器DS18B20 、AT89S51 單片機nRF2401 收發芯片設計分布式無線溫度測試系統。將溫度傳感器DS18B20 采集
    發表于 08-30 15:51 ?134次下載

    USB接口芯片FT245BM的功能及其應用

    通用串行總線USB(Universal Serial Bus)由于具有數據傳輸速率高、易于使用、支持熱插拔等特點,越來越成為一種流行的計算機通信接口。FT245BM芯片是由FTDI(Future Technology Devic
    發表于 05-14 15:47 ?4524次閱讀
    USB接口<b class='flag-5'>芯片</b><b class='flag-5'>FT245BM</b>的功能及其應用

    FT245BM的USB接口電路設計

    FT245BM的接口電路設計 設計采用USB總線供電,圖2中FT245BM與一片MCU相連,MCU的一個8位端口用來傳輸數據,另外一個端口用來控制
    發表于 05-14 18:12 ?2274次閱讀
    <b class='flag-5'>FT245BM</b>的USB接口電路設計

    基于FT245BM的簡易USB接口開發

    基于FT245BM的簡易USB接口開發 FT245BM的主要功能是進行USB和并行I/O口之間的協議轉換。詳細介紹FT245BM芯片的工作原理、內部結構、引腳分布及功能;給
    發表于 06-16 08:42 ?1706次閱讀

    基于nRF24L01和PIC16F877無線數據傳輸系統設計

    本文設計了一個無線數據傳輸系統,它應用Microchip公司的PIC16F877單片機控制Nor
    發表于 06-27 10:00 ?1580次閱讀
    基于<b class='flag-5'>nRF</b>24L01和<b class='flag-5'>PIC</b>16F877<b class='flag-5'>無線</b><b class='flag-5'>數據傳輸</b><b class='flag-5'>系統</b>設計

    基于nRF2401無線數據傳輸系統

    基于nRF2401無線數據傳輸系統,參考下。
    發表于 01-25 10:28 ?53次下載

    基于nRF24L01和FT245BM無線文件傳輸系統設計

    本文采用PIC16F877單片機、USB芯片FM245BM無線芯片nR孔4功1組成
    發表于 12-15 16:44 ?2243次閱讀
    基于<b class='flag-5'>nRF</b>24L01和<b class='flag-5'>FT245BM</b>的<b class='flag-5'>無線</b>文件<b class='flag-5'>傳輸</b><b class='flag-5'>系統</b>設計