จาก ทฤษฎีการส่งข้อมูลจะอาศัยการสร้างสัญญาณนาฬิกาที่ได้จากจุดตัดศูนย์ (zero crossing point)
โดยค่าของข้อมูล binary 1 จะส่งสัญญาณ burst มีความถี่ 120KHz จำนวน 3 ลูก หลังจากจุดตัดศูนย์
โดย ไม่จำเป็นว่าจะเป็นขอบขาขึ้นหรือขอบขาลง ของสัญญาณนาฬิกา
และค่าของข้อมูล binary 0 จะเป็นการเว้นว่างของสัญญาณ burst
ดังนั้นใน 1 ไซเคิล สามารถจะส่งข้อมูลได้ 2 บิท- เมื่อเราส่งสัญญาณ burst มีความถี่ 120KHz 1 ลูกเราจะได้ สัญญาณ binary 1
ตามวังหวะ ของ zero crossing ไม่ว่าจะเป็นขอบขาขึ้น (บวก) หรือว่าจะเป็นขอบขาลง (ลบ)
ส่วนข้อมูล binary 0 ก็คือการเว้นว่างที่ ครึ่งไซเคิ้ลนั้น ครับ
- เหตุที่เราส่งพัลส์ 3 ลูก สำหรับระบบ 3 เฟส ครับ(ตามกฏของ X10)
ส่วนในภาครับ เราจะสนใจพัลส์ลูก แรกเท่านั้นครับ
- การ mod สํญญาณ ก็คือการ on/off ขา RB3 ตามจังหวะของ zero crossing ครับ
- ส่วนของภาครับก็เช่นกัน เราจะใช้จังหวะของ zero crossing ในการอ่านค่าครับ โดยอ่านค่ามาจาก RA1
- ถ้าความถี่ของภาครับไม่ตรงกับภาคส่ง ก็จะทำให้ส่งได้ไม่ไกล หรือถ้าต่างกันมากๆ ก็จะทำให้รับไม่ได้
-จริงๆ แล้วรายระเอียดจะอยู่ในโค๊คครับ นั้นหมายถึงคุณต้องมีพื้นฐานมาพอสมควร
ไม่เช่นนั้นคุณจะไปต่อไม่ได้
- การศึกษารายระเอียด ก็ต้องเริ่มจากตัวอย่างไฟกระพริบ, การใช้งาน UART ฯลฯ ศีกษาอย่างเป็นขั้นตอน
จะกระโดดมาใช้ X10Demo2.C เลย ไม่ได้หรอกครับ