Week 11 - SPI & I2C

by 1:10 AM 0 ความคิดเห็น



ให้เชื่อมต่อ Nucleo กับ IC DAC MCP4922-E/P เพื่อกำหนดคลื่นสัญญาณ Sinewave
โดยให้กำหนด Amplitude และความถี่ของสัญญาณ Sinewave ขึ้นมาเอง
และใช้ Scope วัดสัญญาณ  Sinewave ที่สร้างขึ้น


หลักการทำงาน


ในการสร้าง Sinewave นั้นจะสร้างโดยใช้สัญญาณ Digital
แปลงเป็นสัญญาณ Analog ด้วย DAC MCP4922 
ซึ่งมี Resolution 12 Bit หรือมีระดับแรงดัน 4096 ระดับ (0 - 4095)

เนื่องจาก Sine มีค่าอยู่ในช่วง [-1,1]  ส่วนแรงดันที่สามารถใช้ได้อยู่ในช่วง 0.0 - 3.3 V
ต้องการสร้าง Sinewave ที่มี Amplitude = 1.65 V ค่าของคลื่นจึงอยู่ในช่วง 0.0 - 3.3 V
และเมื่อพิจารณาร่วมกับ Resolution ของ IC จะเป็นดังนี้
ที่ค่า Sine สูงสุด คือ 1  ระดับแรงดันจะต้องเป็น 4095 หรือ 3.3 V
ที่ค่า Sine ต่ำสุด  คือ -1 ระดับแรงดันจะต้องเป็น 0 หรือ 0.0 V
สามารถหาค่าระดับแรงดันของค่า Sine ใดๆได้จากสมการ
ระดับแรงดัน = (sin x  * 2047.5 ) + 2047.5
จากสมการนี้เราจะสามารถสร้าง Sinewave ได้โดย
นำค่า Sine ตั้งแต่ 0 – 360 องศาไปคำนวณหาค่าระดับแรงดันด้วยสมการนี้
แล้วส่งค่าระดับแรงดันแบบ SPI ไปให้ DAC ตามลำดับเรื่อยๆ
DAC ก็จะแปลงค่าระดับแรงดันออกมาเป็นแรงดัน Output ตามลำดับ
ก็จะได้ Sinewave ที่มีค่าอยู่ในช่วง 0.0 - 3.3 V

VDO แสดงการทำงาน






Authors

Pakorn Vongseela 57340500045
Phirawat Rattanachot 57340500053

0 ความคิดเห็น:

Post a Comment