一、簡介
lora,是「long range」的簡稱。lora 技術,源自於美國的公升特公司(semtech),是一種用於中、長距離傳輸的技術,相關資訊主要從公升特公司官網獲取,多為英文版本。
官網**:
開發者中心:
三、晶元選型
lora模組產品數量並不算太多,比較常見的有 sx1276、sx1277、sx1278、sx1279、sx1301
其中sx1301用作閘道器。其餘幾個作為普通的收發器,除引腳、封裝不同之外,最大的差別就是它們所使用的頻段、頻寬、速率不同,詳見下表
四、工作方式
以常見的收發器為例,晶元自帶spi介面,需要乙個外接的mcu去控制整個工作流程,包括模式選擇,資料收發等。官網自帶有各晶元的驅動檔案,開發者可以根據自己的選擇,呼叫相應的檔案。以sx1276為例,進行驅動檔案的簡單解讀,詳情如下。
五、sx1276 驅動解讀之——初始化
1、重啟sx1276晶元,並延時一段時間(資料手冊推薦5 ms) rst引腳觸發
2、進入lora+低頻模式 【regopmode (0x01)】
3、設定頻率通道 【 regfrfmsb(0x006)】
4、設定輸出功率 【regpalonconfig (0x09)】
5、關閉過流保護 【regocp (0x0b)】
6、開啟 lna 最大增益 【reglna (0x0c)】
7、設定頻寬 【regmodernconfig (0x01d)】
8、設定超時時間 【regsymbtimeoutlsb (0x01f)】
9、設定前導碼長度 【regpreamblemsb (0x20)】
11、進入待機模式 【regopmode (0x01)】
六、sx1276 驅動解讀之——進入接收模式
1、設定功率 【regpadac (0x4d)】
2、設定fhss跳頻技術 【reghop{eriod (0x24)】
4、開啟接收完成和超時中斷 【regirqflagsmask (0x11)】
5、清除中斷標誌位 【regirqflags (0x12)】
6、設定負載位元組長度 【regpayloadlenghth (0x22)】
7、讀接收基位址 【regfiforxbaselength (0x0f)】
8、把fifo指標位址設定為接收基位址【regfifoaddrptr (0x0d)】
9、設定lora模式,持續接收 【regopmode (0x01)】
10、直到進入了接收模式,才往下執行 【regmodernstat (0x18)】
七、sx1276 驅動解讀之——進入發射模式
1、初始化模組
2、設定發射功率 【regpadac (0x4d)】
3、設定調頻週期 【reghopperiod (0x24)】
5、清除標誌位 【regirqflag (0x12)】
6、開啟傳送結束中斷 【regirqflagmask (0x11)】
7、設定包長度 【regpayloadlength (0x22)】
8、讀發射基位址 【regfifotxbaseaddr (0x0e)】
9、將fifo指標設定為發射基位址 【regfifoaddrptr (0x0d)】
10、向fifo中寫入資料 【regfifo (0x00)】
11、設定lora+低頻+傳送模式 【regopmode (0x01)】
12、讀中斷標誌位 【 regirqflag(0x12)】
13、直到傳送完成,清除標誌位 【reqirqflag (0x12)】
14、進入待機模式 【reqopmode (0x01)】
SX1276 與SX1278擴頻晶元的區別
2013年 semtech 首次推出帶擴頻技術的 sub ghz 產品晶元,由於其相對傳統 fsk與 gfsk 在傳輸距離和抗干擾能力方面的優勢而倍受市場關注,目前,semtech 的擴頻晶元 sx1276 7 8 覆蓋了幾乎整個 sub 1ghz的4 個頻段 433 470 868 915m。其中...
外包接單故事 基於LoRa的應用開發
前言 以前的同事找到了我,他負責硬體,我負責軟體,開發基於lora的料架車監測。1 應用背景 主要是為了提高醫院料架車的利用效率,通過監測料架存放區位是否有料架車。2 mcu與lora選擇 lora官方的demo使用的是stm32l15x加上sx127x的方案,這也是目前市面上大多數lora的方案,...
基於Freescale的主流晶元HCS08
前言 freescale系列微控制器是飛思卡爾公司開發的旗艦產品。該公司原為摩托羅拉的半導體部,是全球最大的半導體公司之一,在我國的北京 上海 蘇州和天津設有4個研發中心,在國內二十餘所重點大學校園中建立了freescale微控制器實驗室與培訓合作機構。freescale系列微控制器逐漸成為全球電子...