ATMega328 ความเร็วต่ำสุดด้วย UART


9

ฉันกำลังมองหาการออกแบบโครงการที่ใช้พลังงานต่ำซึ่งจะทำให้ ATMega328 ทำงานที่ความเร็วต่ำเพื่อลดการใช้พลังงาน

แผนปัจจุบันคือให้ UART เชื่อมต่อกับตัวรับสัญญาณ RF ลิงก์เพื่อการสื่อสารที่ 1200 baud

สิ่งที่ฉันสงสัยคือความเร็วขั้นต่ำคือสิ่งที่ฉันสามารถเรียกใช้ ATMega328 ที่และยังคงมี UART 1200 baud 1MHz เร็วพอหรือไม่

คำตอบ:


11

นาฬิกา UART ทำงานที่ 16 เท่าของอัตราบอด ดังนั้นคุณจะสามารถหนีไปได้ด้วย 19.2 kHz 1 MHz จะไม่เป็นไร

บ่อยครั้งที่คุณจะรันด้วยอัตรานาฬิกาที่ให้ตัวแบ่งที่สะดวกในการสร้างนาฬิกาอัตราการรับส่งข้อมูล UART และยังเร็วพอสำหรับการประมวลผลอื่น ๆ ที่คุณต้องดำเนินการ ทุกครั้งที่มีการส่งไบต์หรือแพ็คเก็ตผ่าน UART ให้ CPU เข้าสู่โหมดพลังงานต่ำและตื่นขึ้นมาอีกครั้งเมื่อถูกขัดจังหวะเมื่อมีข้อมูลมากขึ้น


ฉันคิดว่าประโยค "นาฬิกา UART ทำงานที่อัตราการส่งข้อมูล 16 เท่า" นั้นทำให้เข้าใจผิดเล็กน้อย ตัวสร้างอัตราการรับส่งข้อมูลของ USART ทำงานบนนาฬิการะบบ / oscillator และถูกตั้งค่าโดยค่า UBRR นอกจากนี้ยังขึ้นอยู่กับโหมดการทำงาน ปัจจัย 16 ใช้กับ "โหมดปกติแบบอะซิงโครนัส"
Rev1.0

1

จากการสังเกตของฉันไม่สามารถใช้ ATMega328p ที่ต่ำกว่า 1Mhz เพื่อประหยัดพลังงาน (เพราะคุณจะต้องใช้เวลามากขึ้นในการคำนวณจนเสร็จ) อย่างไรก็ตามการลดแรงดันไฟฟ้าจะส่งผลให้ประหยัดพลังงานสูง ทำงานที่ 1Mhz และ 1.8V ใช้พลังงานเพียง 1% ถ้าทำงานที่ 16Mhz และ 5V ฉันทำแผนภูมิการใช้พลังงาน ATMega328นี้

ตามเครื่องคิดเลข AVR UARTนี้หากคุณเรียกใช้ AVR ที่ 1MHz (ความเร็วเริ่มต้นโดยไม่มีคริสตัลภายนอก) คุณสามารถ UART ได้สูงสุด 4800

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.