ECE 448 Lab 6 Using PicoBlaze Temperature Measurement Serial Communication Sources P Chu FPGA Prototyping by VHDL Examples Chapter 14 Picoblaze Overview Chapter 15 Picoblaze Assembly Code Development Chapter 16 Picoblaze I O Interface Chapter 17 Picoblaze Interrupt Interface ECE 448 FPGA and ASIC Design with VHDL 2 INSTRUCTION ROM RAM wen DATA RAM we T wen T init instruction A 7 0 RAM ren addr re din Buttons interrupt address PICOBLAZE interrupt ack port id dout INPUT INTERFACE INPUT out port in port A 7 0 T init A 7 0 DO 7 0 DI 7 0 TD 7 0 read strobe write strobe TA 7 0 A 7 0 OUTPUT INTERFACE TEMP to DS1620 RST DQ CLK TEMP STATUS TEMP CTRL register T wen T init SSD3 SSD2 SSD1 SSD0 Four 7 segment displays ADDR DECODER SSD3 en SSD2 en SSD1 en SSD0 en TEMP CTRL en RAM wen RAM ren INPUT 00 01 02 7 6 5 4 A 64 x 8 DATA RAM 3 2 1 0 b3 b2 b1 b0 A button active bit cleared by reading register INPUT or by interrupt ack b3 b0 status of buttons 3 to 0 respectively 1 means that the button was pressed TEMP STATUS 7 6 5 4 D 3F 40 41 42 43 44 45 46 INPUT SSD3 SSD2 SSD1 SSD0 TEMP STATUS TEMP CTRL FD FE FF MAX MIN AVR 3 2 1 0 MNO D done bit cleared by writing to register TEMP CTRL set after TEMP generates 64 8 bit numbers MNO current measurement number changing from 0 to 63 TEMP CTRL 7 6 5 4 3 2 1 0 M M measure after 1 is written to this bit TEMP performs 64 temperature measurements and stores the results in DATA RAM Task 1 Browsing Mode Two 7 Segment Displays in hexadecimal notation SSD3 SSD2 Current Address Button 1 Increment Address Button 0 Decrement Address Address Data 00 00 01 02 03 04 05 01 02 03 04 05 3B 3C 3D 3E 3F 3B 3C 3D 3E 3F 64x8 RAM Value at Current Address Two 7 Segment Displays in hexadecimal notation SSD1 SSD0 Task 2 Editing Mode Two 7 Segment Displays SSD3 SSD2 in hexadecimal notation Current Address Button 1 Increment Address Button 0 Decrement Address Address 00 01 02 03 04 05 3B 3C 3D 3E 3F Data 00 01 02 03 04 05 06 3B 3C 3D 3E 3F 64x8 RAM Value at Current Address Two 7 Segment Displays SSD1 SSD0 in hexadecimal notation Button 2 Edit Button 1 Increment Data Button 0 Decrement Data Button 2 Approve Task 3 Temperature Measurement Mode Button 3 Start 64 Temperature Measurements Address Data 00 4D 01 02 03 04 05 4D 4E 4F 50 52 3B 3C 3D 3E 3F 5F 60 62 63 64 64x8 RAM Task 4 Calculation Mode Button 3 calculating maximum minimum and average Maximum minimum and average are stored in memory locations at positions FD FE and FF respectively and displayed using SSD3 SSD1 in hexadecimal notation Address Data 00 4D 01 02 03 04 05 4D 4E 4F 50 52 3B 3C 3D 3E 3F 5F 60 62 63 64 MAX MIN FD AVR FE FF 64 4D 56 64x8 RAM Introduction to Picoblaze Development Environment Hands on Session
View Full Document