Агуулгын хүснэгт:

VHDL Секундомер: 8 алхам (зурагтай)
VHDL Секундомер: 8 алхам (зурагтай)

Видео: VHDL Секундомер: 8 алхам (зурагтай)

Видео: VHDL Секундомер: 8 алхам (зурагтай)
Видео: 6. Программирование ПЛИС: цифровые часы на AHDL, VHDL, Verilog 2024, Арваннэгдүгээр
Anonim
VHDL Секундомер
VHDL Секундомер

Энэ бол Basys3 Atrix-7 самбар гэх мэт VHDL болон FPGA хэлхээний самбар ашиглан секунд хэмжигч хийх заавар юм. Секундомер нь 00.00 секундээс 99.99 секунд хүртэл тоолох боломжтой. Энэ нь хоёр товчлуурыг ашигладаг бөгөөд нэг нь эхлүүлэх/зогсоох, нөгөө нь дахин тохируулах товчлуур юм. Тоонуудыг анод, катод ашиглан самбарын долоон сегментийн дэлгэц дээр харуулдаг. Энэхүү секундомерыг ажиллуулахын тулд гурван өөр файл хэрэгтэй болно.

Алхам 1: Тоног төхөөрөмж/Програм хангамж

  • Basys3 Atrix-7 FPGA самбар
  • Xilinx -аас гаргасан Vivado Design Suite
  • USB 2.0 A Эрэгтэй ба Micro-B Эрэгтэй

Алхам 2: Блок диаграм

Блок диаграм
Блок диаграм

Ерөнхий секундомер нь гурван оролт, хоёр гаралттай. Гурван оролт нь эхлэх/зогсоох, дахин тохируулах, цаг юм. Эхлэх/зогсоох, дахин тохируулах нь товчлуур бөгөөд цаг нь самбар дээрх 100MHz цаг юм. Хоёр гаралт нь долоон сегментийн дэлгэцийн анод ба катод юм.

Эхний модуль (цаг хуваагч) нь нэг оролт, хоёр гаралттай бөгөөд оролт нь самбарын 100 МГц цаг бөгөөд гаралт нь хоёр тусдаа цаг бөгөөд нэг нь 480 Гц, нөгөө нь 0.5 МГц дээр ажилладаг.

Хоёрдахь модуль (дэлгэц) нь таван оролт, хоёр гаралттай. Оролт нь самбарын 100MHz цаг, цаг хуваах модулийн хоёр цаг, эхлэх/зогсоох, дахин тохируулах товчлуурууд юм. Гаралт нь анод ба катод юм.

Сүүлийн модуль (блок диаграмыг бүхэлд нь загварчилсан) нь гурван оролт, хоёр гаралттай. Энэ бол бүх зүйлийг нэгтгэсэн файл юм. Оролт нь самбар дээрх 100 МГц ба эхлэх/зогсоох, дахин тохируулах товчлуурууд юм. Гаралт нь долоон сегментийн дэлгэцийг хянадаг анод ба катод юм. Бүх оролт, гаралт нь эцсийн модулийн самбар дээр байдаг.

Алхам 3: Улсын диаграм

Улсын диаграм
Улсын диаграм

Дээрх зураг нь секунд хэмжигч хэрхэн ажилладаг талаархи диаграммыг харуулав. Дахин тохируулах товчлуурыг дарах нь секунд хэмжигчийн төлөв байдалд нөлөөлөхгүй. Дараагийн төлөвийг эхлүүлэх/зогсоох товчлуураар тодорхойлно. Эхлэх/зогсоох нь дарагдсан үед "ӨНДӨР" байх боловч дарагдсан үед биш харин товчлуурыг буцааж буцааж дарах буюу "Өндөр" болсны дараа "LOW" байх болно.

Хэрэв секундомер тоолж, эхлүүлэх/зогсоох товчлуур "Өндөр" байвал тоолохоо болино. Хэрэв секундомерыг зогсоож, эхлүүлэх/зогсоох товчлуур "HIGH" болвол дахин тоолж эхэлнэ. Хоёр мужийн хувьд хэрэв эхлүүлэх/зогсоох товчлуур нь "LOW" байвал энэ нь одоо байгаа төлөвт үлдэх болно.

Алхам 4: Цаг хуваах модуль

Цаг хуваагч модуль нь нэг оролт, самбарын 100 МГц цаг, 480 Гц ба 0.5 МГц гэсэн хоёр гаралттай. 480Hz цаг нь долоон сегментийн дэлгэц дээрх бүх LED-ийг нэгэн зэрэг асаахад ашигладаг бөгөөд эдгээр дөрвөн төхөөрөмжийг хурдан сольж өгдөг. Секундомерыг секундын секундээр тоолохын тулд 0.5MHz цагийг ашигладаг.

Алхам 5: Дэлгэцийн модуль

Энэхүү дэлгэцийн модуль нь таван оролттой, самбарын 100MHz цаг, цагийн модулийн хоёр цаг, эхлэх/зогсоох, дахин тохируулах товчлуур, анод ба катод гэсэн хоёр гаралттай. Энэ модуль нь секундомерыг хэрхэн тоолж, хязгаарлагдмал төлөвт байгаа машиныг багтаасан "логик" -той.

Алхам 6: Холбох модуль

Энэхүү эцсийн модуль нь бусад хоёр модулийг нэгтгэдэг модуль юм. Энэ нь гурван оролттой, самбарын 100MHz цаг, эхлэх/зогсоох, дахин тохируулах товчлуур, анод ба катод гэсэн хоёр гаралттай. 100MHz цаг нь цаг хуваах модуль ба дэлгэцийн модуль руу ордог бөгөөд эхлэх/зогсоох, дахин тохируулах товчлуурууд нь дэлгэцийн модуль руу ордог. Цаг хуваах модулийн гаралт (480 Гц ба 0.5 МГц) нь дэлгэцийн модулийн хоёр цагийн оролт руу ордог. Дэлгэцийн модулийн гаралт (анод ба катод) нь эцсийн модулийн гаралт руу ордог.

Алхам 7: Хязгаарлалт

Хязгаарлалтууд
Хязгаарлалтууд

Хоёр оролт нь Basys3 Atrix-7 FPGA самбар дээрх дурын товчлуур байж болох бөгөөд гаралт нь дөрвөн анод, найман катод байх болно (учир нь та секунд ба миллисекундын хоорондох аравтын бутархай цэгийг хүсдэг).

Алхам 8: Боллоо

Програмыг Basys3 Atrix-7 FPGA самбар дээр байршуулж, секунд/секундын ажиллагааг эхлүүлэхийн тулд эхлүүлэх/зогсоох товчийг дарна уу!

Зөвлөмж болгож буй: