1 / 9

ECE 448: Lab 6 Using PicoBlaze Temperature Measurement Serial Communication

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

rfrancine
Download Presentation

ECE 448: Lab 6 Using PicoBlaze Temperature Measurement Serial Communication

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ECE 448: Lab 6 Using PicoBlaze Temperature Measurement Serial Communication

  2. 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

  3. INSTRUCTION ROM Buttons RAM_wen DATA RAM T_init interrupt we instruction address T_wen A[7..0] PICOBLAZE interrupt_ack INPUT_INTERFACE addr re port_id RAM_ren INPUT dout din out_port in_port A[7..0] A[7..0] T_init DO[7..0] DI[7..0] read_strobe write_strobe TA[7..0] A[7..0] TD[7..0] OUTPUT_INTERFACE ADDR_DECODER TEMP to DS1620 SSD3 SSD3_en, SSD2_en, SSD1_en, SSD0_en TEMP_CTRL_en, RAM_wen, RAM_ren SSD2 RST SSD1 DQ SSD0 TEMP_STATUS CLK TEMP_CTRL Four 7-segment displays register T_init T_wen

  4. INPUT: 00 01 02 . . . 3F 40 41 42 43 44 45 46 FD FE FF 7 6 5 4 3 2 1 0 A 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. 64 x 8 DATA RAM TEMP_STATUS: 7 6 5 4 3 2 1 0 D 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. INPUT SSD3 SSD2 TEMP_CTRL: SSD1 7 6 5 4 3 2 1 0 SSD0 M TEMP_STATUS TEMP_CTRL M – measure: after 1 is written to this bit, TEMP performs 64 temperature measurements, and stores the results in DATA RAM. . . . MAX MIN AVR

  5. Task 1 – Browsing Mode Two 7-Segment Displays (in hexadecimal notation) (SSD3-SSD2) Address Data 00 01 02 03 04 05…. 3B 3C 3D 3E 3F 00 01 02 03 04 05…. 3B 3C 3D 3E 3F Current Address Value at Current Address Button 1 = Increment Address Button 0 = Decrement Address Two 7-Segment Displays (in hexadecimal notation) (SSD1-SSD0) 64x8 RAM

  6. Task 2 – Editing Mode Two 7-Segment Displays (SSD3-SSD2) (in hexadecimal notation) Address Data 00 01 02 03 04 05…. 3B 3C 3D 3E 3F 00 01 02 03 04 05=>06…. 3B 3C 3D 3E 3F Value at Current Address Two 7-Segment Displays (SSD1-SSD0) (in hexadecimal notation) Current Address Button 1 = Increment Address Button 0 = Decrement Address Button 2= Edit Button 1 = Increment Data Button 0 = Decrement Data Button 2= Approve 64x8 RAM

  7. Task 3 – Temperature Measurement Mode Address Data 00 01 02 03 04 05…. 3B 3C 3D 3E 3F 4D 4D 4E 4F 50 52…. 5F 60 62 63 64 Button 3 = Start 64 Temperature Measurements 64x8 RAM

  8. Task 4 – Calculation Mode Address Data 00 01 02 03 04 05…. 3B 3C 3D 3E 3F FD FE FF 4D 4D 4E 4F 50 52…. 5F 60 62 63 64 64 4D 56 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. … MAX => MIN => AVR => 64x8 RAM

  9. Introduction to Picoblaze Development Environment(Hands-on Session)

More Related