หน้าแรก ดูโปรเจกต์ทั้งหมด
Expert

โปรเจกต์ PU2CLR BK108X Arduino Library

โปรเจกต์นี้เกี่ยวกับ Arduino Library สำหรับควบคุมอุปกรณ์ BK1086 และ BK1088 โดยพัฒนาต่อยอดมาจาก 'BK1086/88E BROADCAST AM/FM/SW/LW RADIO R'

โปรเจกต์ PU2CLR BK108X Arduino Library

วิดีโอสาธิต

Video

▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์

รายการอุปกรณ์และเครื่องมือ

1x Arduino Pro Mini 328 - 3.3V/8MHz
🛒 สั่งซื้อ

รายละเอียดและวิธีทำ

PU2CLR BK108X Arduino Library

BK1086 และ BK1088 เป็น DSP receivers จาก BEKEN โดย BK1088 เป็นเครื่องรับสัญญาณ (RECEIVER) ย่าน BROADCAST FM และ AM (LW, MW และ SW) ส่วน BK1086 เป็นรุ่นย่อยของ BK1088 (ซึ่งไม่มี LW และ SW ตามที่ระบุใน Datasheet)

โปรเจกต์นี้เกี่ยวกับ Arduino Library สำหรับควบคุมอุปกรณ์ BK1086 และ BK1088 โดยอ้างอิงจากเอกสาร "BK1086/88E BROADCAST AM/FM/SW/LW RADIO RECEIVER; Rev.1.3" จาก BEKEN Corporation

Library นี้สามารถเผยแพร่ได้ฟรีภายใต้รูปแบบซอฟต์แวร์เสรี MIT (MIT Free Software model)

Copyright (c) 2019 Ricardo Lima Caratti.

ติดต่อ: pu2clr@gmail.com.

สารบัญ

บทนำ

ในช่วงปลายปี 2019 ผมได้เริ่มโปรเจกต์พัฒนา Arduino library หลายตัวเพื่อควบคุม DSP receivers โดยการพัฒนาครั้งแรกเริ่มจาก Arduino library สำหรับ SI4844 และตามด้วยตระกูล ICx Si473X ซึ่งทั้งหมดผลิตโดย Silicon Labs และจากการตอบรับรวมถึงความกระตือรือร้นของผู้ฟังวิทยุ นักทดลอง และเหล่านักประดิษฐ์ (hobbyists) ในการใช้งาน Library เหล่านี้ ผมจึงตัดสินใจขยายจำนวน Arduino library สำหรับแพลตฟอร์ม Arduino IDE และได้พัฒนา Library สำหรับ AKC695X, KT0915, SI470X และ RDA5807 เพิ่มเติม เมื่อผมเริ่มอ่าน Datasheet ของ BK1086/88 ผมสังเกตเห็นว่ามันมีความเหมาะสมมากสำหรับผู้ฟังวิทยุและนักประดิษฐ์เช่นกัน แต่ต่างจากอุปกรณ์อื่นๆ ที่กล่าวมาข้างต้น ในตอนแรกผมพบเอกสารเกี่ยวกับมันน้อยมาก นั่นจึงเป็นแรงผลักดันให้ผมรวบรวมข้อมูลเกี่ยวกับอุปกรณ์ตระกูล BEKEN นี้ให้มากที่สุด ผมได้สอบถามข้อมูลเกี่ยวกับ BK1086/88E ไปยัง BEKEN Corporation และได้รับคำตอบกลับมาอย่างรวดเร็ว ผมขอขอบคุณ BEKEN Corporation สำหรับความเอาใจใส่ในครั้งนี้ด้วยครับ

Library นี้อ้างอิงจากคู่มือของ BEKEN “BK1086/88 - BROADCAST AM/FM/SW/LW RADIO RECEIVER REV1.3” ที่จัดทำโดย BEKEN Corporation และการทดลองที่ผมทำขึ้นในระหว่างกระบวนการพัฒนา

ดูเพิ่มเติม

  • PU2CLR Si4735 Library for Arduino. Library นี้ถูกสร้างขึ้นโดยอ้างอิงจาก “Si47XX PROGRAMMING GUIDE; AN332” และรองรับโหมด FM, AM และ SSB (LW, MW และ SW) นอกจากนี้ยังสามารถใช้ได้กับอุปกรณ์ทุกตัวในตระกูล SI47XX โดยต้องพิจารณาคุณสมบัติที่มีในแต่ละเวอร์ชันของ IC ด้วย
  • PU2CLR SI4844 Arduino Library. นี่คือ Arduino library สำหรับ SI4844 ซึ่งเป็น IC เครื่องรับวิทยุ BROADCAST ANALOG TUNING DIGITAL DISPLAY AM/FM/SW จาก Silicon Labs โดยมีให้ใช้งานบน Arduino IDE และถูกสร้างขึ้นเพื่อให้การควบคุม SI4844 ทำได้ง่ายขึ้น
  • PU2CLR AKC695X Arduino Library. AKC695X เป็นตระกูล IC DSP receiver จาก AKC technology โดยรุ่น AKC6955 และ AKC6959sx รองรับโหมด AM และ FM ซึ่งในโหมด AM ทั้งสองรุ่นจะทำงานได้ในย่าน LW, MW และ SW ส่วนในโหมด FM จะทำงานได้ตั้งแต่ 64MHz ถึง 222MHz
  • PU2CLR KT0915 Arduino Library. KT0915 เป็นเครื่องรับสัญญาณ full band AM (LW, MW และ SW) และ FM แบบ DSP ที่ช่วยให้คุณสร้างวิทยุคุณภาพสูงในราคาประหยัดได้อย่างง่ายดาย
  • PU2CLR RDA5807 Arduino Library. RDA5807 เป็น IC เครื่องรับสัญญาณ FM DSP (50 ถึง 115MHz) ที่รองรับวงจรขยายสัญญาณรบกวนต่ำ (low noise amplifier) อุปกรณ์นี้ใช้ส่วนประกอบภายนอกน้อยมากเมื่อเทียบกับอุปกรณ์อื่นที่ใกล้เคียงกัน และยังรองรับฟังก์ชัน RDS/RBDS, การควบคุม auto gain control (AGC) โดยตรง และฟังก์ชันตัดเสียงรบกวนแบบ adaptive แบบเรียลไทม์
  • PU2CLR SI470X Arduino Library. เป็นตระกูลอุปกรณ์จาก Silicon Labs ที่รวมฟังก์ชันการทำงานที่สมบูรณ์สำหรับเครื่องรับ FM รวมถึง RDS (Si4703)

ใบอนุญาต MIT (MIT License)

Copyright (c) 2019 Ricardo Lima Caratti

อนุญาตให้บุคคลใดก็ตามที่ได้รับสำเนาของซอฟต์แวร์นี้และไฟล์เอกสารที่เกี่ยวข้อง ("ซอฟต์แวร์") ใช้งานซอฟต์แวร์ได้โดยไม่มีข้อจำกัด รวมถึงแต่ไม่จำกัดเพียงสิทธิ์ในการใช้งาน, คัดลอก, แก้ไข, ผสมผสาน, เผยแพร่, แจกจ่าย, ให้สิทธิ์ช่วง และ/หรือขายสำเนาของซอฟต์แวร์ และอนุญาตให้บุคคลที่ได้รับซอฟต์แวร์นี้กระทำการดังกล่าวได้ ภายใต้เงื่อนไขต่อไปนี้:

ต้องระบุประกาศลิขสิทธิ์ข้างต้นและประกาศการอนุญาตนี้ไว้ในสำเนาทั้งหมดหรือในส่วนสำคัญของซอฟต์แวร์

ซอฟต์แวร์นี้จัดทำขึ้น "ตามสภาพที่เป็นอยู่" โดยไม่มีการรับประกันใดๆ ไม่ว่าโดยชัดแจ้งหรือโดยนัย รวมถึงแต่ไม่จำกัดเพียงการรับประกันความเหมาะสมในเชิงพาณิชย์ ความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ และการไม่ละเมิดสิทธิ์ ผู้เขียนหรือผู้ถือลิขสิทธิ์จะไม่รับผิดชอบต่อการเรียกร้อง ค่าเสียหาย หรือความรับผิดใดๆ ไม่ว่าจะเกิดขึ้นจากการกระทำตามสัญญา การละเมิด หรืออื่นๆ ที่เกิดจาก หรือเกี่ยวข้องกับซอฟต์แวร์ หรือการใช้งาน หรือการดำเนินการอื่นใดในซอฟต์แวร์

ขอขอบคุณ

คุณ Peng Roy จาก BEKEN Corporation สำหรับการให้ข้อมูลทางเทคนิคเกี่ยวกับ BK1086/88

การสนับสนุนของคุณเป็นสิ่งสำคัญ

หากคุณมีข้อเสนอแนะในการปรับปรุงโปรเจกต์นี้ โปรดแจ้งให้ผมทราบด้วยครับ

คุณสมบัติของ BK1086/88

คุณสมบัติหลัก

  • รองรับย่าน FM ทั่วโลก 64~108 MHz
  • รองรับย่าน AM ทั่วโลก 520~1710kHz
  • รองรับย่าน LW (153-279kHz เฉพาะรุ่น BK1088E)
  • รองรับย่าน SW (2.3-21.85MHz เฉพาะรุ่น BK1088E)
  • การควบคุมอัตราขยายอัตโนมัติ (Automatic gain control - AGC)
  • การควบคุมความถี่อัตโนมัติ (Automatic frequency control - AFC)
  • วงจรถอดรหัส FM stereo แบบดิจิทัล
  • การผสมสัญญาณ FM stereo/mono อัตโนมัติ
  • การลดเสียงรบกวนอัตโนมัติ (Automatic noise suppression)
  • การลดสัญญาณเสียงแหลม (De-emphasis) 50us/75us
  • วงจรถอดรหัส RDS/RBDS
  • แรงดันไฟเลี้ยง 2.4 ~ 5.5 V
  • รองรับ reference clock ช่วงกว้าง
  • crystal oscillator ความถี่ 32.768KHz

ข้อมูลที่มีประโยชน์

  • BK1086/88 สามารถควบคุมผ่าน MCU ได้ด้วยโหมด 2-wire I2C
  • BK1088 มาพร้อมกับ pull-up resistors ขนาด 40K ภายในบนบัส I2C ซึ่งอาจไม่จำเป็นต้องใช้ pull-up resistor ภายนอก อย่างไรก็ตาม ควรพิจารณาใช้ pull-up resistor ภายนอกตามความยาวของสายบัสที่ใช้
  • BK1086/88 มีเทคโนโลยีการปรับจูนอัตโนมัติภายใน ซึ่งสามารถปรับค่าความจุไฟฟ้าที่เปลี่ยนแปลงได้ภายในเพื่อให้วงจรเรโซแนนซ์อยู่ในสภาวะที่ดีที่สุด ณ ความถี่ที่ทำงานอยู่ ช่วยลดความยุ่งยากในการออกแบบส่วน front-end ได้อย่างมาก
  • BK1086 รองรับเฉพาะ FM และคลื่นกลาง (MW) ส่วน BK1088 รองรับคลื่นสั้น (SW) และคลื่นยาว (LW) เพิ่มเติมจาก FM และคลื่นกลาง

การติดตั้ง Library

เร็วๆ นี้ (TODO)

ไดอะแกรมบล็อกการทำงาน (Functional Block Diagram)

ที่มา: "BK1086/88E BROADCAST AM/FM/SW/LW RADIO RECEIVER; Rev.1.3; หน้า 3"

BK1086/88E TSSOP20 pinout

ที่มา: "BK1086/88E BROADCAST AM/FM/SW/LW RADIO RECEIVER; Rev.1.3; หน้า 23"

Pin NumberNameDescription1GNDGround เชื่อมต่อกับ ground plane บน PCB2GNDGround เชื่อมต่อกับ ground plane บน PCB3FMIFM RF input4RFGNDRF ground5AMIMW/SW/LW RF input6GNDGround เชื่อมต่อกับ ground plane บน PCB7SCLKสัญญาณ Clock สำหรับการสื่อสารแบบ Serial8SDIOข้อมูล Serial Input/Output9RCLKสัญญาณนาฬิกาอ้างอิงภายนอก 32.768kHz - 38.4MHz / อินพุต 32.768KHz Oscillator10VDDแหล่งจ่ายไฟสำหรับ digital และ I/O11ROUTสัญญาณเสียงออก (Output) ข้างขวา12LOUTสัญญาณเสียงออก (Output) ข้างซ้าย13VAแหล่งจ่ายไฟสำหรับ analog14GPIO3ช่องสัญญาณ Output อเนกประสงค์ 315GPIO2ช่องสัญญาณ Output อเนกประสงค์ 216EXTLNAการควบคุม LNA ภายนอก17RIN2Line in input (ช่องขวา 2)18LIN2Line in input (ช่องซ้าย 2)19RIN1Line in input (ช่องขวา 1)20LIN1Line in input (ช่องซ้าย 1)

วงจร (Schematic)

วงจรการใช้งานทั่วไปของ BEKEN (BEKEN Typical Application Schematic)

รูปภาพด้านล่างนำมาจากเอกสาร "BK1086/88E BROADCAST AM/FM/SW/LW RADIO RECEIVER; Rev.1.3; หน้า 25" ซึ่งเป็นวงจรพื้นฐานที่แนะนำโดย BEKEN

ผังวงจรด้านล่างอ้างอิงจากวงจรการใช้งานทั่วไปของ BEKEN โดยเพิ่มส่วนควบคุม Arduino เข้าไป และมีการปรับเปลี่ยนวงจรส่วน front-end เพื่อให้ใช้เสาอากาศปกติแทนการใช้สายหูฟังเป็นเสาอากาศ

วัตถุประสงค์หลักของวงจรนี้คือเพื่อทดสอบ BK108X Arduino Library อย่างไรก็ตาม คุณอาจจะประหลาดใจกับประสิทธิภาพของวงจรง่ายๆ นี้เนื่องจากคุณสมบัติระดับสูงของอุปกรณ์ BK1086/88 นอกจากนี้ สิ่งสำคัญที่ต้องกล่าวคือเครื่องรับนี้ไม่ได้มุ่งหวังให้เป็นวิทยุสำหรับผู้ฟังที่พิถีพิถันมากนัก แต่มันเป็นจุดเริ่มต้นที่ดีที่คุณสามารถเริ่มจากจุดนี้แล้วเพิ่มอุปกรณ์อื่นๆ เข้าไปในวงจรเพื่อปรับปรุงคุณสมบัติต่างๆ เช่น ความไวในการรับสัญญาณ (sensibility) คุณภาพเสียงขาออก และคุณสมบัติอื่นๆ ตามต้องการ

เอกสารอ้างอิง

  • BK1086/88E - BROADCAST AM/FM/SW/LW RADIO RECEIVER; Rev 1.3 (Copyright©2012 by Beken Corporation);
  • BK1086/88 Application Manual (ภาษาจีน - Copyright©2012 by Beken Corporation);

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: pu2clr-bk108x-arduino-library-fae455
699 บาท
PromptPay QR Code