Presentation is loading. Please wait.

Presentation is loading. Please wait.

Over-view of Lab. 1 For more details – see the Lab. 1 web-site There will be a 20 min prelab quiz (based on Assignment 1 and 2) at the start of the lab.

Similar presentations


Presentation on theme: "Over-view of Lab. 1 For more details – see the Lab. 1 web-site There will be a 20 min prelab quiz (based on Assignment 1 and 2) at the start of the lab."— Presentation transcript:

1 Over-view of Lab. 1 For more details – see the Lab. 1 web-site There will be a 20 min prelab quiz (based on Assignment 1 and 2) at the start of the lab. session

2 2 /17 Print out the Lab. 1 web-pages for use as reference during the lab. period There will be a short 15-minute in-class quiz at the start of the lab. period – don’t be late Quiz will be based on knowledge demonstrated during assignments 1 and 2

3 3 /17 Tasks to be tackled Test the provided C++ program to move audio signals in and out of the processor 10% -- Convert the ProcessDataCPP( )code into assembly code 15% -- Initialize the programmable flag interface 10% -- Get the mute sound operation to work (SW1) 15% -- Get the gargle sound operation to work (SW2) 15% -- Get the dancing lights function to work (C++ and provided code) 15% -- Get the volume control to work (Hard -- you might want to leave out -- still get A- on lab) 20% -- Documented code hand in Bonus marks available

4 4 /17 Task 1 Download audio-talk-through program If you have not already done so, download and expand ENCM415Directory.zip file so that you have the correct directory. structure and test driven development environment needed for Laboratory 1. ENCM415Directory.zip Download and expand the files in CPP_Talkthrough.zip into your Lab1 directory.CPP_Talkthrough.zip Add the CPP_Talkthrough project in your Lab. 1 directory to the VisualDSP environment -- compile and link. Download the executable (.dxe) file onto the BF533 processor. Hook up your CD or IPOD output to the CJ2 stereo input. Hook up your ear-phones to the CJ3 stereo output. Run the CPP_Talkthrough.dxe executable and check that the talk through program is working.

5 5 /17 Task 2 -- Convert ProcessDataCPP( ) to ProcessDataASM () – Assign. 2 Q3 In talkthrough.h. add a prototype for your assembly code function Process_DataASM; In ISR.cpp change to // call function that contains user code #if 0 Process_DataCPP(); // Use the C++ version #else Process_DataASM(); // C assembly code routines especially developed for Lab. 1 #endif Right-click on ProcessDataCPP.cpp entry. Use "FILE OPTIONS“ to exclude linking Use PROJECT | clean project Add your ProcessDataASM.asm file to the project, recompile and link. Check that your code works More details on the Lab. 1 web pages

6 6 /17 Task 3 – Initialize the Programmable flag interface – 16 I/O lines on the Blackfin Warning – could burn out the Blackfin processor if done incorrectly You need to set (store a known value to) a number of Blackfin internal registers Most important ones FIO_DIR – Data DIRection – 0 for input **** FIO_INEN – INterface ENable FIO_FLAG_D – Programmable FLAG Data register

7 7 /17 Why do you need to know how to do read (load) and write (store) on internal registers? Flag Direction register (FIO_DIR)  Used to determine if the PF bit is to be used for input or output -- WARNING SMOKE POSSIBLE ISSUE  Need to set pins PF11 to PF8 for input, leave all other pins unchanged

8 8 /17 Registers used to control PF pins Flag Input Enable Register  Only activate the pins you want to use (saves power in telecommunications situation)  Need to activate pins PF11 to PF8 for input, leave all other pins unchanged

9 9 /17 Registers used to control PF pins Flag Data register (FIO_FLAG_D)  Used to read the PF bits (1 or 0)  Need to read pins PF11 to PF8, ignore all other pins values

10 10 /17 Task 3 – Setting up the programmable flag interface Follow the instructions carefully FIO_DIR – direction register – write 0’s to all bits FIO_INEN – input enable register – write 1’s to bits 8, 9, 10, 11 Other registers set to 0 There is a test program (Weds lecture) that will enable you to check your code – provide a screen dump of test result.

11 11 /17 Task 4 – Read the switches on the front pannel Final laboratory requirements SW1 connected to PF8 -- Mute button (This task) SW2 connected to PF9 -- Gargle button (Task 5) SW3 connected to PF10 -- Volume up (Task 7) SW4 connected to PF11 -- Volume down (Task 7) Build Initialize_ProgrammableFlagsASM ( ) Modify main( ) and ProcessDataASM( ) so that MUTE-operation works MUST HAVE 50 pin cable connected between logic board and Blackfin Logic board power supply must be turned on

12 12 /17 #include.global _ReadProgrammableFlags__Fv; _ReadProgrammableFlags__Fv LINK 16; P1.L = lo (FIO_FLAG_D); // could be P0 P1.H = hi (FIO_FLAG_D); R0 = W[P1] (Z); P0 = [FP + 4]; UNLINK; _ReadProgrammableFlags__Fv; JUMP (P0); Must use W [ ] since the manual shows that FIO_FLAG_D register is 16-bits Must use W[P1] (Z) zero-extend as this adds 16 zeros to the 16 bits from FIO_FLAG_D register to make 32-bits to place into R0 int ReadProgrammableFlags( )

13 13 /17 Task 5 – Gargling operation Need to add a simple counter that increments by 1 every 1/44000 s Code is essentially Assignment 2 Q2 Use the counter to turn the sound off and on every ½ s Gargling sound is produced. You need to have a signed demo sheet from a 2 nd or 4 th year student. Bonus if not from department

14 14 /17 Task 6 – LED interface and Dancing Lights LED interface setup code provided Check that you can read switches and make the values appear on the LED Then – writing in “C++” code (interfaced to your assembly code) – display the amplitude (absolute value) of the sound

15 15 /17 Task 7 – Volume control Writing in C++, develop the final volume control Note there are test codes available to test out your equipment This code can be used to test the switches and the LED interface on your board. SwitchToLED.dxe SwitchToLED.dxe This is the final version of my code for Lab. 1. DrSmithLab1Final.dxeDrSmithLab1Final.dxe

16 16 /17 Information of the marks and what needs to be handed in Hand in at the start of the Thursday tutorial  Sec. 1 – 6 th October  Sec. 2 – 13 th October (Same day as planned prelab. 2 quiz) Note Lab.1  Section 1 is first session – Sept 26th  Section 2 is second session – Oct. 3rd THERE ARE NO LABS ON THE MONDAY OF THANKSGIVING Note Lab. 2  Section 2 is first session – Oct. 17 th  Section 1 is second session – Oct 24 th

17 17 /17 What is currently planned for Lab. 2? Develop a digital thermometer using LED and print out to display the temperature Use the digital thermometer as remote control sensor to control the volume of sound (from Lab. 1)


Download ppt "Over-view of Lab. 1 For more details – see the Lab. 1 web-site There will be a 20 min prelab quiz (based on Assignment 1 and 2) at the start of the lab."

Similar presentations


Ads by Google