1. บทนำ
เทคโนโลยี RFID (Radio Frequency IDentification) คือ เทคโนโลยีการระบุความถี่วิทยุเป็นเทคโนโลยีการสื่อสารที่ใช้กันอย่างแพร่หลายในสถานการณ์การชาร์จต่างๆ เช่น ระบบชาร์จระบบขนส่งสาธารณะ ระบบชาร์จที่จอดรถ เป็นต้น ระบบปัจจุบันที่ใช้เทคโนโลยี RFID โดยทั่วไป ใช้ RS-485 และ PC ในการแลกเปลี่ยนข้อมูล อย่างไรก็ตาม RS-485 ใช้โหนดหลักเดียวและใช้โหมดโพล ดังนั้นจึงมีปัญหาเรื่องประสิทธิภาพแบบเรียลไทม์และประสิทธิภาพการสื่อสารต่ำ
ด้วยการก้าวกระโดดอย่างต่อเนื่องในระดับวิทยาการคอมพิวเตอร์และความต้องการในการพัฒนาอุตสาหกรรม ระบบควบคุมอุตสาหกรรมได้ประสบกับการเปลี่ยนแปลงจากระบบควบคุมอุปกรณ์พื้นฐาน ระบบควบคุมดิจิทัลแบบรวมศูนย์ ระบบควบคุมแบบกระจายไปสู่ระบบควบคุมฟิลด์บัสที่ใช้กันอย่างแพร่หลายในปัจจุบัน CAN (Controller Area Net) บัสเป็นฟิลด์บัสที่ใช้เครือข่ายการสื่อสารแบบอนุกรม CAN บัสใช้โหมดการทำงานแบบหลายต้นแบบ และโหนดใดๆ บนเครือข่ายสามารถส่งข้อมูลไปยังโหนดอื่นๆ บนเครือข่ายได้ตลอดเวลา ในเวลาเดียวกัน CAN บัสใช้เทคโนโลยีอนุญาโตตุลาการแบบไม่ทำลาย เมื่อโหนดตั้งแต่สองโหนดขึ้นไปส่งข้อมูลไปยังเครือข่ายในเวลาเดียวกัน โหนดที่มีลำดับความสำคัญต่ำกว่าจะหยุดการส่งจนกว่าโหนดที่มีลำดับความสำคัญสูงกว่าจะส่งข้อมูลเสร็จสิ้น นี้มีประสิทธิภาพ เพื่อหลีกเลี่ยงความขัดแย้งเรื่องรถโดยสาร ระยะการสื่อสาร CAN สามารถเข้าถึงได้สูงสุด 10 กม./5kbps และอัตราการสื่อสารสามารถเข้าถึงได้สูงสุด 1Mbps แต่ละเฟรมของข้อมูล CAN มีการตรวจสอบ CRC หรือวิธีการตรวจจับอื่นๆ เพื่อให้มั่นใจในความน่าเชื่อถือของการสื่อสารข้อมูล
เมื่อเกิดข้อผิดพลาดร้ายแรงในโหนด CAN โหนดจะปิดโดยอัตโนมัติ จึงไม่ส่งผลกระทบต่อการทำงานปกติของโหนดอื่นๆ ดังนั้น CAN บัสจึงมีข้อดีคือความน่าเชื่อถือสูง ประสิทธิภาพแบบเรียลไทม์สูงและประสิทธิภาพสูง และสามารถเปลี่ยนบัส RS 485 ได้อย่างสมบูรณ์
เมื่อพิจารณาว่าในสภาพแวดล้อมการใช้งานจริง เพื่อลดงานเดินสายจำนวนมาก เครือข่ายไร้สาย 2.4G จึงถูกใช้เป็นสถานีถ่ายโอนสำหรับการส่งข้อมูลจาก RFID ไปยัง CAN บัส เทคโนโลยีไร้สายมีต้นทุนต่ำ มีความยืดหยุ่น เชื่อถือได้ และใช้เวลาติดตั้งสั้น การออกแบบนี้ใช้ nRF24L01 เพื่อสร้างเครือข่ายการสื่อสารไร้สาย ชิปนี้รองรับการสื่อสารแบบหลายจุดและสามารถรับข้อมูลจาก 6 ช่องทางที่แตกต่างกันในโหมดการรับ
กล่าวคือ ปลายทางการรับของเครือข่ายไร้สายสามารถรับข้อมูลจากปลายการส่งที่แตกต่างกัน 6 แบบ ข้อมูลจากจุดสิ้นสุดการส่งจะได้รับผ่านโมดูล RFID
จากการสนทนาข้างต้น บทความนี้จะนำเสนอระบบการชาร์จ RFID ใหม่ที่ใช้ CAN บัสและเครือข่ายไร้สาย 2.4G
2 การออกแบบระบบฮาร์ดแวร์
2.1 โครงสร้างระบบและองค์ประกอบของระบบ
2.1.1 โทโพโลยีของระบบ
ดังแสดงในรูปที่ 1 ข้อมูลที่เกี่ยวข้องของอุปกรณ์ RFID จะถูกส่งไปยังตัวรับส่งสัญญาณ CAN ผ่านเครือข่ายไร้สาย และจากนั้นจะส่งข้อมูลไปยังพีซีผ่านทาง CAN บัส พีซีใช้การ์ดเอ็กซ์แพนชัน PCI-E พร้อมอินเทอร์เฟซ CAN นอกจากนี้ ชิปการสื่อสารไร้สาย nRF24L01 ยังสามารถรับข้อมูลจาก 6 ช่องสัญญาณที่แตกต่างกันในโหมดการรับ ดังนั้นจึงมีโหนด CAN เพื่อควบคุมการส่งข้อมูลของอุปกรณ์เทอร์มินัล RFID สูงสุด 6 เครื่อง เมื่อขั้วชาร์จ RFID หกขั้วไม่สามารถตอบสนองความต้องการได้ ก็สามารถเพิ่มโหนดได้มากขึ้น โหนดทั้งหมดติดตั้งอยู่บน CAN บัส แต่ละโหนดจะส่งข้อมูลไปยังพีซีผ่าน CAN บัส
2.1.2 องค์ประกอบของระบบ
ระบบนี้ (โหนด CAN) ประกอบด้วยสองระบบย่อย ระบบย่อย B ประกอบด้วยไมโครคอนโทรลเลอร์, โมดูล RFID, โมดูลไร้สาย, สุนัขเฝ้าบ้าน, หน้าจอ LCD, โมดูลนาฬิกา, ปุ่ม และ EEPROM ไมโครคอนโทรลเลอร์ (MCU) ควบคุมโมดูล RFID เพื่ออ่านและเขียนการ์ด Mifare 1 และโมดูลไร้สายจะส่งข้อมูลที่เกี่ยวข้องไปยังระบบย่อย A ระบบย่อย A ประกอบด้วยไมโครคอนโทรลเลอร์ โมดูลไร้สาย โปรแกรมเฝ้าระวัง และโมดูล CAN MCU ส่งข้อมูลที่ได้รับผ่านโมดูลไร้สายไปยังพีซีผ่านโมดูล CAN เนื่องจากหนึ่งโหนดสามารถควบคุมเทอร์มินัลอุปกรณ์ RFID ได้สูงสุด 6 เทอร์มินัล ในระบบที่สมบูรณ์จึงมีเพียง 1 ระบบย่อย A ในขณะที่สามารถมีได้สูงสุด 6 ระบบย่อย B
2.2 ไมโครคอนโทรลเลอร์
ไมโครคอนโทรลเลอร์คือ STC89LE58RD+ ซึ่งมีพอร์ต I/O แบบขนาน 8 บิต 4 พอร์ต P0~P3, พอร์ตขนาน 4 บิต 1 พอร์ต P4, 32KB FLASHROM, RAM 1280 ไบต์, ตัวจับเวลา 3 ตัว, แหล่งขัดจังหวะ 8 ตัว และตัวขัดจังหวะระบบลำดับความสำคัญ 4 ตัว ประสิทธิภาพตรงตามข้อกำหนดการออกแบบอย่างเต็มที่
2.3 โมดูลสามารถ
การใช้งานฮาร์ดแวร์ของ CAN บัสใช้ Philips' SJA1000 และ PCA82C250
2.3.1 การแนะนำชิป SJA1000
SJA1000 เป็นตัวควบคุม CAN อิสระ รองรับฟังก์ชันการขยายโหมด PeliCAN (โดยใช้โปรโตคอล CAN2.0B) มีตัวระบุ 11 บิตหรือ 29 บิต, FIFO การรับ 64 ไบต์, กลไกอนุญาโตตุลาการและความสามารถในการตรวจจับข้อผิดพลาดอันทรงพลัง ฯลฯ
2.3.2 การแนะนำชิป PCA82C250
PCA82C250 คือตัวรับส่งสัญญาณ CAN บัส ซึ่งได้รับการออกแบบมาเป็นหลักสำหรับการใช้งานการสื่อสารความเร็วปานกลางถึงสูง (สูงสุด 1Mbps) ในรถยนต์ สามารถต้านทานการรบกวนในโหมดการทำงานและการรบกวนแม่เหล็กไฟฟ้า (EMI) ได้หลากหลาย ลดการรบกวนด้วยคลื่นความถี่วิทยุ (RFI) และมีฟังก์ชันป้องกันความร้อน สามารถเชื่อมต่อได้สูงสุด 110 โหนด
2.3.3 การเชื่อมต่ออินเทอร์เฟซฮาร์ดแวร์
ดังแสดงในรูปที่ 4 พอร์ต P1 ถูกใช้เป็นแอดเดรสแบบมัลติเพล็กซ์/บัสข้อมูลเพื่อเชื่อมต่อกับพอร์ต AD ของ SJA1000 และ P2.0 เชื่อมต่อกับชิปเลือกส่วน CS ของ SJA1000 ทำให้ SJA1000 เป็นอุปกรณ์ I/O สำหรับ การทำแผนที่หน่วยความจำอุปกรณ์ต่อพ่วงของไมโครคอนโทรลเลอร์ นอกจากนี้ RX0 และ TX0 ของ SJA1000 ยังเชื่อมต่อกับ RXD และ TXD ของ PCA82C250
2.4 โมดูลไร้สาย
2.4.1 การแนะนำชิป nRF24L01
ชิปไร้สายคือ nRF24L01 เป็นชิปตัวรับส่งสัญญาณความถี่วิทยุไร้สาย 2.4GHz ที่มีอัตราการส่งข้อมูลสูงสุด 2Mbps รองรับความถี่การทำงานเสริม 125 ความถี่ มีฟังก์ชันตรวจสอบที่อยู่และ CRC และมีอินเทอร์เฟซ SPI
มีพินอินเทอร์รัปต์เฉพาะ รองรับแหล่งอินเทอร์รัปต์ 3 แหล่ง และสามารถส่งสัญญาณอินเทอร์รัปต์ไปยัง MCU ได้ มีฟังก์ชันตอบกลับอัตโนมัติ บันทึกที่อยู่หลังจากยืนยันการรับข้อมูล และส่งสัญญาณตอบกลับโดยใช้ที่อยู่นี้เป็นที่อยู่เป้าหมาย รองรับโหมด ShockBurstTM ในโหมดนี้ nRF24L01 สามารถเชื่อมต่อกับ MCU ความเร็วต่ำได้ nRF24L01 สามารถรับข้อมูลจาก 6 ช่องสัญญาณที่แตกต่างกันในโหมดการรับ
2.4.2 การเชื่อมต่ออินเทอร์เฟซฮาร์ดแวร์ nRF24L01
ดังแสดงในรูปที่ 5 ไมโครคอนโทรลเลอร์จะสื่อสารกับ nRF24L01 โดยจำลองจังหวะบัส SPI IRQ พินขัดจังหวะภายนอกเชื่อมต่อกับ P3.2 (ขัดจังหวะภายนอก 0) ของไมโครคอนโทรลเลอร์
2.5 โมดูลอาร์เอฟไอดี
2.5.1 การแนะนำชิป MF RC500
โมดูล RFID ใช้ Philips' MF RC500 ซึ่งเป็นหนึ่งในชิป RFID ที่ใช้กันอย่างแพร่หลายในปัจจุบัน MF RC500 รองรับโปรโตคอล ISO14443A และการ์ดอินเทอร์เฟซคู่ MIFARE มีวงจรแอนะล็อกที่มีการบูรณาการสูงภายในสำหรับดีโมดูเลชั่นและถอดรหัสการ์ดตอบสนอง และมีบัฟเฟอร์ FIFO ของตัวรับส่งสัญญาณขนาด 64 ไบต์และหน่วยความจำคีย์แบบไม่ลบเลือน นอกจากนี้ยังมีพินอินเทอร์รัปต์เฉพาะที่รองรับแหล่งอินเทอร์รัปต์ 6 ตัวและสามารถส่งสัญญาณอินเทอร์รัปต์ไปยัง MCU ได้
2.5.2 การเชื่อมต่ออินเทอร์เฟซฮาร์ดแวร์ MF RC500
ดังแสดงในรูปที่ 6 MCU จะเข้าถึงรีจิสเตอร์ใน MF RC500 เป็น RAM ภายนอก พิน INT ลอยอยู่และไม่ได้ใช้ฟังก์ชันขัดจังหวะ
3 การออกแบบระบบซอฟต์แวร์
ในโปรแกรมไมโครคอนโทรลเลอร์การเริ่มต้น การขัดจังหวะภายนอกของระบบย่อย A ถูกตั้งค่าเป็นทริกเกอร์ระดับต่ำ แหล่งสัญญาณขัดจังหวะของระบบย่อย A จัดทำโดย nRF24L01 เมื่อ nRF24L01 รับข้อมูลจะสร้างสัญญาณขัดจังหวะเพื่อแจ้งให้ MCU อ่านข้อมูล ระบบย่อย B ไม่ได้ใช้ฟังก์ชันการขัดจังหวะ
ในการเริ่มต้นโปรแกรม nRF24L01 ระบบย่อย B ได้รับการกำหนดค่าในโหมดส่งและใช้การตรวจสอบ CRC 16 บิต หากต้องการใช้ฟังก์ชันตอบสนองอัตโนมัติ ช่องข้อมูล 0 จะถูกตั้งค่าให้รับสัญญาณตอบสนอง และที่อยู่การรับของช่องข้อมูล 0 จะต้องเท่ากับที่อยู่ของผู้ส่งเพื่อให้แน่ใจว่าสามารถรับสัญญาณตอบสนองได้อย่างถูกต้อง ระบบสามารถประกอบด้วยระบบย่อย A ได้สูงสุดหกระบบ และที่อยู่การส่งของระบบย่อยทั้งหกนี้ไม่สามารถทำซ้ำได้ ระบบย่อย A ได้รับการกำหนดค่าในโหมดรับ ใช้การตรวจสอบ CRC 16 บิต และสามารถรับข้อมูลได้สูงสุด 6 ช่อง ที่อยู่รับ 6 รายการเหล่านี้เท่ากับที่อยู่ส่งในแต่ละระบบย่อย B ในการทดสอบครั้งแรกของ SJA1000 จะใช้โหมด PliCAN อัตรารับส่งข้อมูลคือ 125Kbps และห้ามรับและส่งอินเทอร์รัปต์ การกำหนดค่าการลงทะเบียนการควบคุมเอาต์พุตมีดังนี้: โหมดปกติ, การดึงลง TX และขั้วควบคุมเอาต์พุต นอกจากนี้ จำเป็นต้องกำหนดค่าการลงทะเบียนรหัสการยอมรับและการลงทะเบียนมาสก์การยอมรับอย่างถูกต้อง การกำหนดค่านี้ใช้เพื่อใช้ฟังก์ชันอนุญาโตตุลาการ CAN บัส
ในการเริ่มต้น MF RC500 การตั้งค่าหลักมีดังนี้: เอาต์พุตของ TX1 และ TX2 ได้รับการกำหนดค่าเป็น 13ผู้ให้บริการพลังงาน 56MHz; แหล่งอินพุตของตัวถอดรหัสคือดีโมดูเลเตอร์ภายใน ใช้นาฬิกา Q เป็นนาฬิการับสัญญาณ ปิดการใช้งานการส่งและรับการขัดจังหวะ; ตั้งค่า RxThreshold ค่ารีจิสเตอร์คือ 0xFF ค่ารีจิสเตอร์ BitPhase คือ 0xAD เป็นต้น
ฟังก์ชั่นคำขอรีเซ็ตจะค้นหาการ์ด Mifare1 ภายในช่วงที่มีประสิทธิภาพของเสาอากาศ หากมีการ์ดอยู่ การเชื่อมต่อการสื่อสารจะถูกสร้างขึ้นและหมายเลขประเภทการ์ด TAGTYPE บนการ์ดจะถูกอ่าน ฟังก์ชั่นป้องกันการชนทำให้ MF RC500 สามารถเลือกการ์ด Mifare 1 ได้หลายใบ เปิด. ฟังก์ชั่นการเลือกการ์ดสามารถสื่อสารกับการ์ดที่มีหมายเลขซีเรียลที่ทราบได้ ฟังก์ชั่นการตรวจสอบความถูกต้องจะจับคู่รหัสผ่านบนการ์ด Mifare 1 กับคีย์ใน EEPROM ของ MF RC500
หลังจากการจับคู่ถูกต้องแล้ว การดำเนินการอ่านและเขียนจึงจะสามารถดำเนินการได้ ส่งคำสั่งปิดเครื่องเพื่อตั้งค่าการ์ด Mifare 1 เป็น HALT MODE
ฟังก์ชัน CAN ใช้เพื่อส่งข้อมูลที่เกี่ยวข้องไปยังพีซี การออกแบบนี้ใช้โหมดแบบสอบถามเพื่อให้แน่ใจว่าข้อมูลถูกส่งไปแล้ว คุณสามารถยืนยันได้ว่าการส่งข้อมูลเสร็จสมบูรณ์หรือไม่โดยการสอบถามแฟล็กบิต TBS, TCS และ TS ในการลงทะเบียนสถานะ ในทำนองเดียวกัน ในฟังก์ชันไร้สาย เพื่อให้แน่ใจว่าข้อมูลถูกส่งไปแล้ว เพียงสอบถาม TX_DS ในทะเบียนสถานะ
4 การทดสอบระบบ
ขั้นแรก ให้ทดสอบโมดูล RFID วางการ์ด MIFARE 1 ภายในช่วงที่มีประสิทธิภาพของเสาอากาศ ดำเนินการอ่านและเขียนบนการ์ด และแสดงข้อมูลที่เกี่ยวข้องบนหน้าจอ LCD หลังจากการทดสอบนี้ โมดูล RFID จะอ่านและเขียนได้ตามปกติ จากนั้นจะมีการทดสอบประสิทธิภาพแบบเรียลไทม์ของเครือข่ายการรับส่งข้อมูลของระบบ บทความนี้ใช้การส่งข้อมูลอุณหภูมิแบบไร้สายสำหรับการทดสอบ อุปกรณ์วัดอุณหภูมิเป็นเซ็นเซอร์วัดอุณหภูมิแบบสายเดี่ยว DS18B20 เชื่อมต่อเซ็นเซอร์อุณหภูมิกับระบบย่อย B เซ็นเซอร์อุณหภูมิจะสุ่มตัวอย่างอุณหภูมิภายในอาคารทุกวินาที ไมโครคอนโทรลเลอร์จะอ่านข้อมูลอุณหภูมิและส่งไปยังระบบย่อย A ผ่านเครือข่ายไร้สาย ระบบย่อย A รับข้อมูลและส่งผ่าน CAN บัส ไปยังพีซี
ในด้านพีซี Visual Basic 6.0 ใช้เพื่อเขียนโปรแกรมคอมพิวเตอร์โฮสต์ คอมพิวเตอร์โฮสต์จะดึงข้อมูลอุณหภูมิเป็นเส้นโค้งและเขียนลงในข้อความ เส้นโค้งอุณหภูมิแสดงในรูปที่ 8 โดยความแม่นยำของค่าอุณหภูมิคือ 1 องศาเซลเซียส จากการสังเกตเปรียบเทียบกราฟเส้นโค้งอุณหภูมิและข้อมูลข้อความ พบว่าข้อมูลอุณหภูมิไม่มีความผิดปกติ และไม่มีการสูญเสียข้อมูล
5. สรุป
บทความนี้ใช้ CAN บัสเพื่อแทนที่บัส RS-485 เพื่อเอาชนะข้อบกพร่องของรุ่นหลัง เทคโนโลยีไร้สายยังถูกนำมาใช้เพื่อใช้ประโยชน์จากฟังก์ชันการสื่อสารหลายจุดของ nRF24L01 ได้อย่างเต็มที่ ในขณะที่ลดงานเดินสายไฟจำนวนมาก หลังจากสร้างระบบแล้ว ผู้เขียนได้ทดสอบระบบมาเป็นเวลานาน ผลการทดสอบแสดงให้เห็นว่าการส่งข้อมูลมีความเสถียร เชื่อถือได้ และมีประสิทธิภาพสูงแบบเรียลไทม์ สามารถเอาชนะข้อบกพร่องของระบบเก็บค่าผ่านทาง RFID แบบดั้งเดิมโดยใช้การออกแบบบัส RS485 และมีมูลค่าการใช้งานสูง
Contact: Adam
Phone: +86 18205991243
E-mail: sale1@rfid-life.com
Add: No.987,High-Tech Park,Huli District,Xiamen,China