這個(gè)WSPR到底是什么。..。..
WSPR(發(fā)音為‘whisper’)信標(biāo)是一個(gè)低功率無(wú)線電發(fā)射機(jī)業(yè)余頻段分別為2m至160m或約144MHz至1.8MHz。這里介紹的實(shí)現(xiàn)可以支持5個(gè)頻段,其中我專(zhuān)注于2個(gè)頻段--20米和40米。我的特殊天線最適合20米和40米。
WSPR協(xié)議是由獲得諾貝爾獎(jiǎng)的普林斯頓物理學(xué)家喬泰勒博士開(kāi)發(fā)的。這導(dǎo)致基于PC計(jì)算機(jī)的應(yīng)用程序于2008年4月首次發(fā)布。計(jì)算機(jī)(通常是PC)獲取一些基本用戶(hù)信息并使用WSPR協(xié)議對(duì)其進(jìn)行編碼,從而產(chǎn)生162個(gè)四級(jí)FSK(頻移鍵控)符號(hào)。這些符號(hào),然后從偶數(shù)分鐘的頂部開(kāi)始,在110.6秒的時(shí)間內(nèi)緩慢傳輸。編碼的信息包括用戶(hù)無(wú)線電呼號(hào)(我的 - G7IYK),用戶(hù)定位器代碼(我的 - IO81)和以dBm為單位的功率級(jí)別。所以基本信息如下所示:
WSPR輸入信息示例:G7IYK IO81 30
在這個(gè)例子中,30dBm相當(dāng)于50W匹配天線的1W。
以下在編碼時(shí),合成的FSK信號(hào)僅適合6Hz,WSPR頻帶僅200Hz寬。因此,PC將輸出調(diào)制數(shù)據(jù)作為一系列四個(gè)FSK音調(diào)。然后將這些音頻輸入到設(shè)置為適當(dāng)頻帶頻率的業(yè)余無(wú)線電裝置。業(yè)余無(wú)線電裝備隨后將數(shù)據(jù)傳輸?shù)绞澜绺鞯亍?.。..
好 - 很好,有什么意義呢?
世界字面上充斥著WSPR信標(biāo)和接收器。我在這里展示的項(xiàng)目是一個(gè)僅發(fā)送信標(biāo),但許多(大多數(shù))WSPR設(shè)置接收和發(fā)送 - 它們是收發(fā)器。
這是很酷的部分。..。..
WSPR接收器可以同時(shí)解碼200Hz頻帶中的所有消息,導(dǎo)致每?jī)煞昼姶翱诳赡苡袛?shù)十個(gè)解碼消息。此外,WSPR協(xié)議可以在大約-28dB的S/N(信噪比)水平下進(jìn)行解碼 - 因此是耳語(yǔ)描述。通常,解碼器可以拉出并成功解碼來(lái)自人耳聽(tīng)不到的噪聲的信號(hào)。這意味著您的低功率信號(hào)可以根據(jù)傳播條件在很遠(yuǎn)的距離進(jìn)行解碼。
好的,那么您如何知道誰(shuí)解碼了您的信號(hào)呢?
有一個(gè)非常酷的網(wǎng)站叫做WSPRnet(wsprnet.org)。該網(wǎng)站顯示了全球每個(gè)頻段的所有WSPR解碼活動(dòng)。運(yùn)行在全球數(shù)千個(gè)站點(diǎn)上的WSPR接收器軟件將解碼后的呼號(hào)標(biāo)記數(shù)據(jù)推送到wsprnet.org網(wǎng)站,在那里顯示它以供任何人查看。您可以將自己或其他任何人的呼號(hào)輸入到地圖頁(yè)面中,該站點(diǎn)將過(guò)濾顯示呼號(hào)被解碼的行星位置,解碼時(shí)間,解碼對(duì)象,真實(shí)接收功率等級(jí)和距離的信息。來(lái)自傳輸源。
你可以這樣做只是為了好玩(而且很有趣),或者你可以將它用于像天線開(kāi)發(fā)那樣嚴(yán)肅的事情,畢竟WSPR是傳播記者。您可以隨心所欲地設(shè)計(jì)和建模天線,但WSPR允許您通過(guò)向您顯示其他站點(diǎn)能夠解碼信號(hào)的位置來(lái)實(shí)際查看天線的工作情況。
您也可以使用您自己的解碼傳輸或網(wǎng)站上其他人的解碼,以便在任何特定時(shí)間看到哪些頻段是開(kāi)放的并且傳播良好,并且由于大氣條件而關(guān)閉。
我附有顯示該類(lèi)型的圖像WSPR網(wǎng)站上提供的信息。
那么這個(gè)項(xiàng)目究竟是什么呢?
正如我之前提到的,大多數(shù)WSPR站由個(gè)人計(jì)算機(jī)和業(yè)余無(wú)線電收發(fā)器組成,接口電纜。接口電纜向PC發(fā)送音頻信息或從PC接收音頻信息,并允許PC在發(fā)送和接收之間切換無(wú)線電。
大多數(shù)人都有PC但業(yè)余無(wú)線電通常非常昂貴并且有更多功能不是WSPR所需的功能。您可能擁有業(yè)余無(wú)線電許可證,或者正在考慮申請(qǐng)一個(gè),并且想要使用像WSPR這樣的數(shù)字模式進(jìn)行游戲而不是花費(fèi)在無(wú)線電收發(fā)器上。
這個(gè)項(xiàng)目是獨(dú)立的WSPR信標(biāo)配有數(shù)據(jù)編碼器,顯示器,GPS接收器和包括低通濾波器的無(wú)線電發(fā)射器。一旦配置,信標(biāo)將獨(dú)立運(yùn)行,將WSPR序列GPS鎖定到每個(gè)偶數(shù)分鐘的頂部。信標(biāo)還可以通過(guò)無(wú)線電串行接口連接到PC,使用專(zhuān)用控制應(yīng)用程序完全配置和下載。信標(biāo)還預(yù)裝了引導(dǎo)加載程序,允許嵌入式固件通過(guò)相同的PC串行無(wú)線連接進(jìn)行重新編程。
以下是主要項(xiàng)目功能列表。..
獨(dú)立信標(biāo),無(wú)需PC連接即可運(yùn)行
GPS接收器提供準(zhǔn)確的傳輸時(shí)序
LCD顯示傳輸數(shù)據(jù),時(shí)間,模式等。..
用于PIC固件重新閃存的集成引導(dǎo)加載程序
1MHz至40MHz頻率合成
輸出功率為35dBm或~3.3W
無(wú)線發(fā)射機(jī)每頻段切換輸出低通濾波
li》
基于無(wú)線電的57600波特串行鏈接到PC進(jìn)行配置和引導(dǎo)
基于PC的控制和配置應(yīng)用
基于PC的串行引導(dǎo)加載程序
為什么我設(shè)計(jì)并構(gòu)建了這個(gè)WSPR信標(biāo)?
考慮到我有一個(gè)基于PC的WSPR站和Yaesu無(wú)線電收發(fā)器,這是一個(gè)非常好的問(wèn)題。主要原因只是為了好玩,這是一個(gè)偉大的項(xiàng)目,我學(xué)習(xí)了新的技能
硬件和軟件:我通常選擇包含可能對(duì)我來(lái)說(shuō)可能是新功能的項(xiàng)目。作為這個(gè)項(xiàng)目的例子,我開(kāi)發(fā)了串行引導(dǎo)程序 - 對(duì)于未來(lái)的項(xiàng)目非常寶貴,需要將一些RF集成到項(xiàng)目中并使用GPS接收器。..。..更不用說(shuō)WSPR軟件編碼器和其他具有挑戰(zhàn)性的嵌入式固件任務(wù)。
另外,我喜歡編寫(xiě)項(xiàng)目的樂(lè)趣;它給人一種完整感 - 不是一個(gè)商業(yè)產(chǎn)品,而是一個(gè)先進(jìn)的原型。與更廣泛的社區(qū)共享一個(gè)項(xiàng)目迫使人們希望提供更高水平的質(zhì)量,而不僅僅是簡(jiǎn)單的替補(bǔ)。通常,記錄項(xiàng)目和解釋決策的行為導(dǎo)致人們意識(shí)到可能有更好的做事方式。
向更廣泛的社區(qū)發(fā)布項(xiàng)目通常會(huì)導(dǎo)致其他人想要“去做” ‘在構(gòu)建設(shè)計(jì)時(shí),我喜歡在可能的情況下提供支持。將技能傳授給他人,看看他們用新技能做什么,這是非常有益的。
有時(shí)候一個(gè)項(xiàng)目非常受歡迎,而且產(chǎn)量很低的產(chǎn)品可能會(huì)短暫出現(xiàn)以產(chǎn)生一些啤酒資金來(lái)資助下一個(gè)瘋狂項(xiàng)目!
最后,社區(qū)通常會(huì)提供好的和壞的反饋。通常,當(dāng)建設(shè)性時(shí),這種反饋增強(qiáng)了我的知識(shí),并且通常是很酷的新想法的來(lái)源 - 很高興隨時(shí)提供反饋:)
第1步:有關(guān)WSPR協(xié)議的更多信息
重要:為了避免任何可能的混淆,我強(qiáng)調(diào)WSPR協(xié)議不是我的設(shè)計(jì),我沒(méi)有輸入設(shè)計(jì)過(guò)程。正如引言中所提到的,WSPR協(xié)議是由普林斯頓大學(xué)的Joe Taylor博士設(shè)計(jì)的。
WSPR協(xié)議有兩種操作模式。第一模式在單次通過(guò)中生成編碼數(shù)據(jù),并且被設(shè)計(jì)用于單個(gè)傳輸間隔。第二擴(kuò)展模式生成為兩個(gè)間隔傳輸而設(shè)計(jì)的數(shù)據(jù)。我的信標(biāo)項(xiàng)目和以下描述僅詳細(xì)說(shuō)明了在一兩分鐘間隔內(nèi)傳輸?shù)牡谝粋€(gè)單程方法。
有非常詳細(xì)的WSPR協(xié)議描述,這里我提供一個(gè)簡(jiǎn)要說(shuō)明,旨在幫助澄清后續(xù)設(shè)計(jì)步驟。
1。要編碼的數(shù)據(jù)(非擴(kuò)展模式)
呼號(hào)最多六個(gè)字符AZ,0-9和[空格]
標(biāo)準(zhǔn)4位數(shù)的Maidenhead定位器
功率級(jí)別從0到60dBm
示例序列:G7IYK IO81 30
為什么首先編碼。..
好問(wèn)題 - 為什么要首先編碼,為什么不使用說(shuō)摩爾斯電碼來(lái)傳輸字符?
在堅(jiān)果shell中我們將數(shù)據(jù)編碼為極大提高在非常低的SNR水平下解碼消息的機(jī)會(huì)?;謴?fù)性能的這種改進(jìn)稱(chēng)為編碼增益。如果通過(guò)對(duì)序列進(jìn)行編碼,在某些SNR-XdB處可以恢復(fù)未編碼的信號(hào),我們可能能夠恢復(fù)信號(hào) - 例如 - (X + C)dB,其中C是編碼增益。在WSPR的情況下,這種編碼增益是通過(guò)使用具有長(zhǎng)約束長(zhǎng)度的非遞歸卷積碼對(duì)數(shù)據(jù)進(jìn)行編碼來(lái)實(shí)現(xiàn)的。
WSPR傳輸可以在低至-28dB的SNR級(jí)別進(jìn)行解碼。
簡(jiǎn)要介紹編碼過(guò)程
所以我們從輸入數(shù)據(jù)開(kāi)始,例如G7IYK IO81 30.
輸入組件的無(wú)損編碼導(dǎo)致呼號(hào)為28位,定位器為15位,功率級(jí)為7位,因此總共為50位。
將50位打包到11個(gè)8位字節(jié)的數(shù)組中,截?cái)嘟Y(jié)果為81位。
使用約束長(zhǎng)度32,速率1/2卷積碼對(duì)81位進(jìn)行編碼(FEC,前向糾錯(cuò)添加),得到162位序列。
為了提供突發(fā)錯(cuò)誤保護(hù),162位是交錯(cuò)的。
交錯(cuò)的162位序列與162位偽隨機(jī)同步序列合并,產(chǎn)生162個(gè)兩位值。
調(diào)制
162個(gè)兩位符號(hào)中的每一個(gè)表示每符號(hào)值12000/8192或大約1.46Hz的頻移,給出四級(jí)FSK調(diào)制。發(fā)送的符號(hào)長(zhǎng)度是音調(diào)間隔的倒數(shù),或大約0.683秒,因此162個(gè)符號(hào)的完整消息序列大約需要110.6秒才能發(fā)送并占用大約6Hz的帶寬。
傳輸開(kāi)始否在偶數(shù)分鐘的頂部之后的一秒鐘之后。
第2步:WSPR功能和接口
我想我會(huì)首先描述PC應(yīng)用程序界面和圖形用戶(hù)界面或GUI。雖然WSPR信標(biāo)獨(dú)立運(yùn)行但仍需要PC應(yīng)用程序初始配置和啟動(dòng)傳輸序列。
考慮此步驟中的第一張圖片。此圖顯示了首次調(diào)用WSPR控制面板后我們有以下字段:
COM端口 - 一個(gè)下拉菜單,顯示連接到PC的所有當(dāng)前串行COM端口。一旦選擇了COM端口,應(yīng)用程序?qū)⒃趯?lái)打開(kāi)應(yīng)用程序時(shí)記住這一點(diǎn)。
打開(kāi)端口 - 此按鈕可打開(kāi)和關(guān)閉COM端口。按鈕在顯示打開(kāi)端口和關(guān)閉端口之間交替顯示,具體取決于端口狀態(tài)。
Tx消息 - 這些是構(gòu)成用戶(hù)消息的三個(gè)字段。首先是呼號(hào),然后是梅登黑德定位器,最后是電源。權(quán)力從合法權(quán)力的下拉列表中選擇。呼號(hào)和定位器都被解析為合法格式,如果格式不正確,則會(huì)變?yōu)榧t色。
頻段/頻率控制 - “以Hz為單位的頻率”字段是從WSPR 200Hz頻段開(kāi)始的偏移。合法的值范圍是0到194Hz(200Hz,包括6Hz的傳輸帶寬)。接下來(lái)是復(fù)選框,指示要覆蓋哪些波段。如果檢查多個(gè)頻段,則按照波長(zhǎng)順序按波段順序進(jìn)行傳輸。
因此,如果“20m”和“40m”都被檢查和,則“步進(jìn)Hz”字段為零將發(fā)生傳輸在頻帶20上的“頻率以Hz為單位”字段給出的偏移一兩分鐘時(shí)段,然后在頻帶40上自動(dòng)切換到類(lèi)似的傳輸一兩分鐘。循環(huán)將持續(xù)到用戶(hù)通過(guò)WSPR控制應(yīng)用程序停止傳輸或按下停止/啟動(dòng)硬件按鈕。
如果“步進(jìn)Hz”字段為非零,則會(huì)發(fā)生不同的行為。在這種情況下,傳輸以0Hz的頻率偏移開(kāi)始,并以“步進(jìn)Hz”字段給出的頻率間隔在頻帶上進(jìn)行兩分鐘的傳輸周期。一旦到達(dá)當(dāng)前頻段的結(jié)尾,如果通過(guò)復(fù)選框選擇,則選擇下一個(gè)頻段。如果“Step Hz”字段非零,則忽略“Frequency Hz”字段。
調(diào)試窗口 - 此復(fù)選框打開(kāi)并關(guān)閉調(diào)試控制臺(tái)窗口。調(diào)試窗口通過(guò)無(wú)線電串行接口顯示PC應(yīng)用程序和硬件之間的所有上行鏈路和下行鏈路流量。此外,還會(huì)顯示許多軟件狀態(tài)和其他有用的調(diào)試數(shù)據(jù)。
發(fā)送 - 此按鈕使WSPR控制應(yīng)用程序?qū)x消息和其他字段發(fā)送到硬件。只有在打開(kāi)COM端口后才允許發(fā)送操作。當(dāng)每個(gè)字段被發(fā)送并且硬件確認(rèn)收到數(shù)據(jù)時(shí),每個(gè)字段從白色變?yōu)榫G色背景。
硬件報(bào)告的當(dāng)前Tx狀態(tài) - 這些字段代表硬件的直接反饋。顯示回顯的Tx消息。還顯示傳輸電流帶和頻率偏移。
符號(hào)進(jìn)度條 - 此欄顯示當(dāng)前162 FSK符號(hào)傳輸?shù)倪M(jìn)度。
GPS狀態(tài) - 顯示GPS接收器的狀態(tài)被鎖定或解鎖。
GPS時(shí)間 - 顯示GPS模塊報(bào)告的當(dāng)前時(shí)間。
當(dāng)前時(shí)間 - 這是GPS模塊顯示的當(dāng)前時(shí)間。這可能與PC顯示的時(shí)間不同,因?yàn)镻C時(shí)鐘通常不準(zhǔn)確。
Tx啟用 - 一旦打開(kāi)COM端口且硬件成功完成配置此按鈕啟動(dòng)GPS模塊給出的下一個(gè)偶數(shù)分鐘頂部的傳輸。只有在檢測(cè)到GPS模塊鎖定后才會(huì)啟動(dòng)傳輸,如果鎖定丟失,傳輸仍會(huì)終止。用戶(hù)可以通過(guò)按下“Tx啟用”按鈕或按下啟動(dòng)/停止硬件按鈕來(lái)終止傳輸。
第二個(gè)圖像顯示按下發(fā)送按鈕后的WSPR控制面板并且調(diào)試控制臺(tái)已打開(kāi)。 GPS被鎖定并顯示時(shí)間。按下“Tx Enable”按鈕后,傳輸將在下一個(gè)偶數(shù)分鐘的頂部開(kāi)始。
第三個(gè)圖像顯示Band Frequency Calibration面板,其中包含以下字段:
每個(gè)頻段的頻率偏移 - 這是+/- Hz的偏移,將應(yīng)用于DDS模塊,以校正由不正確的125MHz參考時(shí)鐘引起的任何絕對(duì)輸出頻率誤差。
每個(gè)頻段的濾波器位置 - 這是物理硬件位置1-5,其中安裝了相應(yīng)頻段的LPF濾波器。
顯示W(wǎng)SPR控制的視頻正在使用的面板
步驟3:WSPR信標(biāo)硬件操作
附加視頻顯示W(wǎng)SPR硬件操作。
第4步:燈塔的結(jié)果
在我們進(jìn)入所有設(shè)計(jì)細(xì)節(jié)之前,我認(rèn)為詳細(xì)說(shuō)明信標(biāo)的結(jié)果會(huì)很有趣。如果您首先了解設(shè)計(jì)功能,我認(rèn)為總是更容易理解設(shè)計(jì)細(xì)節(jié)。
所以我設(shè)置信標(biāo)以在20米和40米上傳輸我的信息。信標(biāo)在我稱(chēng)之為帶掃描模式的情況下運(yùn)行。在該模式中,信標(biāo)開(kāi)始在20m頻帶的底部發(fā)送,并且在每?jī)煞昼娭蟀l(fā)送間隔自動(dòng)向上移動(dòng)頻帶,在這種情況下以10Hz步長(zhǎng)。因此,在頻帶20內(nèi)將有二十次傳輸,因此需要四十分鐘才能完成。在遍歷頻帶20之后,信標(biāo)自動(dòng)切換到頻帶40并掃描頻帶,然后自動(dòng)返回頻帶20并再次開(kāi)始。該操作總共可以在五個(gè)頻帶上執(zhí)行。
附帶的圖片和下面的數(shù)據(jù)來(lái)自WSPRnet網(wǎng)站:
以下三張圖片展示了歐洲和大西洋到美國(guó)的數(shù)十個(gè)成功解碼。
通過(guò)無(wú)線電串行連接和使用基于PC的WSPR控制面板來(lái)完全控制信標(biāo)。
最遠(yuǎn)的解碼是:KD6RF,距離為7392km或4620miles信噪比為-19dB
步驟5:解碼顯示歐洲的地圖
步驟6:顯示美國(guó)的解碼地圖
步驟7:設(shè)計(jì),頂級(jí)硬件概述
在此步驟中,我將介紹硬件方面的內(nèi)容。從頂層設(shè)計(jì)并解釋每個(gè)組件是什么以及為什么需要它。
我總是通過(guò)查看需要解決的問(wèn)題來(lái)開(kāi)始設(shè)計(jì)。這通常包括坐著一張紙,一支鉛筆和一瓶漂亮的紅酒(必不可少),可能還有一些奶酪和餅干。在這個(gè)階段,我們正試圖找出問(wèn)題的范圍并得出一套頂級(jí)選項(xiàng)。從選項(xiàng)中我們做出設(shè)計(jì)決策并得出設(shè)計(jì)解決方案。這是最重要的事情,因此列表可能不會(huì)很長(zhǎng)或很復(fù)雜,但在此階段做出錯(cuò)誤的決定可能會(huì)導(dǎo)致設(shè)計(jì)過(guò)程中的大量浪費(fèi)時(shí)間。
頂級(jí)范圍設(shè)計(jì)清單和決策過(guò)程:
已完成的解決方案必須獨(dú)立運(yùn)行,無(wú)需外部計(jì)算機(jī)連接
設(shè)計(jì)決策:該設(shè)計(jì)可以單獨(dú)實(shí)現(xiàn)整個(gè)WSPR編碼過(guò)程,也可以使用預(yù)先計(jì)算的序列進(jìn)行配置,并簡(jiǎn)單地調(diào)整序列。預(yù)加載序列意味著不對(duì)用戶(hù)呼號(hào),定位器或電源進(jìn)行任何改變,而無(wú)需將信標(biāo)重新連接到主計(jì)算機(jī)以計(jì)算新序列。但是,單獨(dú)計(jì)算WSPR序列需要更多的微處理能力和內(nèi)存。
我首先使用Microsoft Visual C ++編寫(xiě)了一個(gè)編碼器,以使其工作。然后我遷移到編碼器到C并使用Microchip C18編譯器進(jìn)行編譯。我選擇的28引腳PIC微處理器通常是PIC18F25K22器件,其內(nèi)部時(shí)鐘頻率FOSC為64MHz,因此指令執(zhí)行速率為每秒16兆指令。此處理器上的編碼器執(zhí)行時(shí)間約為88us,內(nèi)存開(kāi)銷(xiāo)很低。
因此決定在PIC微處理器中實(shí)現(xiàn)WSPR編碼器。
設(shè)計(jì)決策: WSPR傳輸必須在偶數(shù)分鐘的頂部之后不遲于一秒開(kāi)始。因此,必須存在一些機(jī)制以保持對(duì)實(shí)時(shí)的準(zhǔn)確跟蹤。有兩種可能的方法。第一種解決方案是使用實(shí)時(shí)時(shí)鐘模塊(RTC)。 RTC模塊使用正確的時(shí)間進(jìn)行編程,然后自由運(yùn)行??梢曰刈x時(shí)間并編程基于中斷的報(bào)警。一些RTC模塊非常精確,只有幾個(gè)PPM的漂移,但它們會(huì)漂移,因此在某些時(shí)候,傳輸?shù)臏?zhǔn)確起點(diǎn)將被違反。第二種選擇是使用GPS模塊提供準(zhǔn)確的定時(shí)信息。 GPS模塊現(xiàn)在非常便宜,隨時(shí)可用無(wú)源嵌入式天線或外部天線連接。
決定使用通過(guò)串行鏈路訪問(wèn)的外部GPS模塊。
用戶(hù)必須能夠獨(dú)立查看關(guān)鍵信息
設(shè)計(jì)決策:此問(wèn)題的最簡(jiǎn)單解決方案是使用LCD顯示器。
我選擇使用通過(guò)IIC接口連接到PIC的20字符4行顯示器。
用戶(hù)必須能夠輕松地從主機(jī)重新編程WSPR信標(biāo)
設(shè)計(jì)決策:編寫(xiě)基于PC的Windows GUI以提供所有必需的配置功能。
我使用用戶(hù)可選的調(diào)試控制臺(tái)窗口在C#中編寫(xiě)了Windows GUI應(yīng)用程序。
PC應(yīng)用程序需要連接到PIC固件
設(shè)計(jì)決策:兩個(gè)明顯的連接選擇是USB或S erial。我選擇的PIC18F25K22有兩個(gè)串行接口端口,但沒(méi)有USB控制器。
我選擇使用基于無(wú)線電的串行連接,允許遠(yuǎn)程重新配置和監(jiān)控WSPR信標(biāo),無(wú)需布線需要。
我使用的串行無(wú)線電模塊是APC220設(shè)備。
用戶(hù)必須能夠更新(重新閃存)PIC固件,無(wú)需專(zhuān)業(yè)編程器
設(shè)計(jì)決策:為了更新或重新刷新PIC固件而無(wú)需專(zhuān)門(mén)的PIC程序員你需要一個(gè)bootloader。引導(dǎo)加載程序是PIC上運(yùn)行的一小塊固件,一旦啟用,就會(huì)與主機(jī)通信并協(xié)調(diào)下載新的應(yīng)用程序固件并將其閃存到PIC程序存儲(chǔ)器中。
我已經(jīng)有了Microchip USB引導(dǎo)加載程序,我使用帶有嵌入式USB控制器的PIC器件修改并用于其他項(xiàng)目。然而,PIC18F25K22沒(méi)有嵌入式USB控制器。
環(huán)顧四周后,我找不到一個(gè)能正常工作的串口啟動(dòng)器,或者我很滿意。所以我拿了Microchip USB Bootloader固件和基于PC的應(yīng)用程序并重新編寫(xiě)它們以支持我選擇使用的串行無(wú)線電鏈路連接。
信標(biāo)必須能夠生成自己的RF調(diào)制信號(hào)
設(shè)計(jì)決策:為了生成所需的頻率范圍以覆蓋大部分HF頻段以及所需的調(diào)制,我使用了AD9850 DDS(直接數(shù)字頻率合成)模塊,頻率范圍為0 - 40MHz,足以解決WSPR音調(diào)分離問(wèn)題。
獨(dú)立的WSPR信標(biāo)必須能夠生成自己的RF功率輸出
設(shè)計(jì)決策:我很早就決定采用RF PA模塊,而不是布局我自己的解決方案。有許多不同的帶寬和功率。最后,我選擇了一個(gè)規(guī)格為1MHz - 700MHz且RF增益為35dB的PA模塊。
在RF PA之后,必須提供低通濾波以抑制二次諧波和其他高頻率的不良成分。最初我打算讓我自己切換低通濾波器。然而,我從QPR實(shí)驗(yàn)室找到了一個(gè)非常好的解決方案,因此最初的原型可以節(jié)省時(shí)間。
以下步驟依次為每個(gè)主要硬件組件提供設(shè)計(jì)詳細(xì)信息 - 硬件部分隨后以原理圖結(jié)束
步驟8:Microchip PIC18F25K22 PIC單片機(jī)
我從事電信電子工程工作近30年,從事家庭項(xiàng)目已超過(guò)40年。我的大部分工作時(shí)間都是在FPGA和ASIC技術(shù)上工作,但后來(lái)在軟件方面越來(lái)越多。
毫無(wú)疑問(wèn),對(duì)家用電子設(shè)備電子產(chǎn)品的影響最大的是具有廉價(jià)功能的微處理器,如Microchip系列PIC部件和Arduino板上使用的ATMEGA系列。多年前,電路板將使用許多分立芯片構(gòu)建,例如4000和7400系列部件。然后是簡(jiǎn)單的可編程CPLD,用于掃描邏輯和后來(lái)的FPGA技術(shù)。后來(lái),一些FPGA技術(shù)擁有像Xilinx MicroBlaze這樣的軟微處理器。
微控制器技術(shù)的主要優(yōu)勢(shì)在于大量可用部件 - 數(shù)百個(gè)。每個(gè)部件的核心都有一個(gè)微處理器,螺栓固定在各種外圍設(shè)備上。我甚至試圖描述可用的器件范圍是毫無(wú)意義的 - 我建議您訪問(wèn)Microchip網(wǎng)站并查看器件選項(xiàng) - 這可能會(huì)讓人感到困惑。我想說(shuō)如果你能想到一個(gè)項(xiàng)目就很難找不到合適的部分。
很多人使用Arduino平臺(tái)進(jìn)行項(xiàng)目工作,這是一個(gè)很棒的平臺(tái)。但是,對(duì)我來(lái)說(shuō),我更喜歡Microchip PIC技術(shù)。這是個(gè)人偏好,但我喜歡盡可能接近硬件,如果需要,可以絕對(duì)控制到時(shí)鐘周期。 PIC解決方案可能不是Arduino庫(kù)快速編碼的最快路徑。然而,對(duì)我來(lái)說(shuō)PIC是最好的。..。
往往會(huì)發(fā)生什么是你喜歡和喜愛(ài)的最喜歡的部分的一端。例如,如果我需要USB解決方案,我通常會(huì)對(duì)PIC18F2550或18F4550這樣做。但是,如果我不需要USB,我通常會(huì)選擇PIC18F25K22或變體。
PIC18F25K22數(shù)據(jù)手冊(cè)大約有500頁(yè),所以我不會(huì)在這里詳細(xì)介紹 - 下載數(shù)據(jù)表并有看看。令人驚訝的是,有多少功能包裝在一個(gè)28針的小包裝中,并且價(jià)格低于5磅(品脫啤酒和一些零食)的價(jià)格低于1磅。
然而,這里只是一些PIC18F25K22的功能,我正在使用的那些:
32 KB程序存儲(chǔ)器
1536字節(jié)數(shù)據(jù)存儲(chǔ)器
256字節(jié)EEPROM
板載64MHz振蕩器
16 MIPS操作
多個(gè)硬件中斷
GPIO的25個(gè)引腳
IIC接口
EUSART接口x 2
多個(gè)定時(shí)器模塊
我已將數(shù)據(jù)表的前面頁(yè)附加到更好地了解該器件的功能。
PIC微處理器軟件開(kāi)發(fā)和編程
對(duì)于PIC的編程,我使用PICKIT3。我發(fā)現(xiàn)這是一個(gè)優(yōu)秀的程序員,從來(lái)沒(méi)有遇到過(guò)問(wèn)題。我使用的那個(gè)實(shí)際上是一個(gè)我從eBay拿到大約15英鎊并且工作得很好的克隆。
PIC固件全部用C語(yǔ)言編寫(xiě),我使用的是MPLAB IDE版本8.這是一個(gè)舊的版本,但我對(duì)它非常熟悉,沒(méi)有理由升級(jí)。我使用Microchip C18編譯器進(jìn)行優(yōu)化,再次使用舊版本,但如果沒(méi)有損壞,請(qǐng)不要修復(fù)它。..。
步驟9:PIC單片機(jī)開(kāi)發(fā)板
我是這些PIC單片機(jī)開(kāi)發(fā)板的忠實(shí)粉絲。它們非常便宜,價(jià)格大約10英鎊,并且擁有您開(kāi)展項(xiàng)目原型所需的一切。該主板具有以下主要功能,可減少開(kāi)展工作所需的驢工作量:
插座28針PIC插座
5V和3V穩(wěn)壓器
編程標(biāo)題
電源指示燈
主復(fù)位按鈕
兩個(gè)通用按鈕
反極性保護(hù)
原型設(shè)計(jì)區(qū)域
一般來(lái)說(shuō),對(duì)于我購(gòu)買(mǎi)原型的項(xiàng)目然后,如果需要,可以使用2.54mm接頭將原型板搭載到第二塊較大的電路板上。在WSPR項(xiàng)目的情況下,我設(shè)法將APC220無(wú)線電串行接口模塊和NEO-7M GPS模塊安裝到原型板上,然后將所有剩余的模塊安裝到基板上?;宓乃锌刂疲瑫r(shí)鐘,數(shù)據(jù)和電源引腳均可通過(guò)2.54mm接頭連接。可以隨時(shí)拔下原型板進(jìn)行修改或添加其他部件。所有的東西都是使用標(biāo)準(zhǔn)的單芯模擬線和一些去耦電容進(jìn)行連接,以便進(jìn)行良好的測(cè)量。
步驟10:WSPR信標(biāo)設(shè)計(jì)原理圖
這一步是我的項(xiàng)目原理圖。
基于PIC微處理器的項(xiàng)目的優(yōu)點(diǎn)是硬件通常很簡(jiǎn)單,這個(gè)項(xiàng)目也不例外。在“過(guò)去”中,硬件本來(lái)就是大部分工作。如果這個(gè)項(xiàng)目在四十年前就可以實(shí)現(xiàn),那么硬件將占用我工作室的一半,并且需要幾個(gè)月的時(shí)間來(lái)構(gòu)建。現(xiàn)在一切都是高度集成的,硬件設(shè)計(jì)只包括將模塊連接到微處理器,所有工作都在軟件中。
關(guān)于原理圖,有幾點(diǎn)需要注意:
AD9850是一款非常耗電的設(shè)備,從內(nèi)存消耗約300mW并且變得非常熱。這和所有其他懸掛在5V導(dǎo)軌上的東西導(dǎo)致LM7805穩(wěn)壓器需要散熱器。它不需要強(qiáng)制空氣冷卻,但需要散熱器。我發(fā)現(xiàn)沒(méi)有散熱器,調(diào)節(jié)器因熱保護(hù)而開(kāi)始掉電。
用于RF PA的基于FET的電源開(kāi)關(guān)可以用繼電器代替,我碰巧有FET和光電-isolator在車(chē)間敲門(mén)。
注意GPS模塊UART端口上的470R串聯(lián)電阻。這些是必需的,因?yàn)镻IC UART端口2與PIC編程引腳共用它的引腳。如果您想連接GPS并仍然使用PIC編程器,則需要這些電阻。
注意LCD顯示器端口上的10K上拉電阻。 LCD通過(guò)IIR接口控制,需要上拉電阻。
原理圖未顯示使用的某些去耦電容。我傾向于在每個(gè)模塊的電源軌上放置一個(gè)100nF的去耦電容,以便進(jìn)行良好的測(cè)量。
步驟11:NEO-7M GPS衛(wèi)星定位模塊
這是一個(gè)非??岬男∧K。..。..
之前我玩過(guò)GPS模塊,但這是我第一次真正需要一個(gè)模塊集成到項(xiàng)目中的憤怒。
如前所述,WSPR傳輸必須同步到偶數(shù)分鐘的頂部,因此PIC micro需要訪問(wèn)實(shí)時(shí)時(shí)鐘源。我本可以使用預(yù)先編程的實(shí)時(shí)時(shí)鐘模塊然后自由運(yùn)行。
責(zé)任編輯:wv
-
編碼器
+關(guān)注
關(guān)注
45文章
3654瀏覽量
134865 -
接收器
+關(guān)注
關(guān)注
14文章
2474瀏覽量
72041
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論