DDS in ASM for 56Fxxx

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

DDS in ASM for 56Fxxx

5,576 Views
Vilbcam
Contributor I
I need an example solution/design technique for generating multi frequencies Direct Digital Sinthesys on DSC. I know there is one way to doing that using accumulator and "arresting all overflown bits" them using them as outputs but I cant find any example of that on Freescale documentation. I can only write in ASM. Please help me with one example. Thanks a lot.
Labels (1)
Tags (1)
0 Kudos
3 Replies

852 Views
Vilbcam
Contributor I
Hello, all I need is 16 frequencies, no look-up table, just square waves in the few Khz range. Fixed frequencies out from GPIO. Any ASM example? Thanks!
0 Kudos

852 Views
trytohelp
NXP Employee
NXP Employee
Hi,
 
For my understanding we don't have this example.
If you need more info I suggest you to log it in our CRM tracking.
 
Please use Freescale on line support web page.
  - Go to following URL: http://www.freescale.com/TechSupport
  - Click on Submit a Service Request to create a new one or Manage Existing Service Request.
  - You will come to a login page.
  - You can submit your request through the web from there or view the activities of a SR.
Regards
Pascal
0 Kudos

852 Views
trytohelp
NXP Employee
NXP Employee
Hello,
 
I checked with my colleague working for the hardware team.
See below their feedback.
 
Hope this will help you.
Pascal
 
As far as I know,if you want to implement DDS with DSC,  you have to use DSC plus a DAC,DSC are responsible for transmitting a table for example sine/triangle/sawtooth table to DAC so that the DAC can output the analog waveform.
The 56F8036/56F8037 has an on-chip DAC,you can save a table in data flash and transmit the data in the table to DAC with PIT(programmable interrupt timer). In other words,the PIT can generate a clock signal to DAC to trigger DAC to output analog waveform,at the same time,DSC core will transmit  the next data in data table to DAC in the ISR(interrupt service routine  of the PIT).
If you do not want to use 56F8036/37, you can use a DSC chip  with EMI(External Memory Interface) and connect an external  DAC with memory interface to the EMI of DSP chip, and  let DAC output an analog waveform with external clock.
Regarding the frequency of the DDS, you can change the time table or external clock frequency to change the output signal frequency. For example, assume you use 56F8037 which has on-chip DAC,you can add the phase step and compute sine data with the phase in rteal time, and output data to DAC,change the phase step,you can change the output waveform frequency. You can also change the PIT cycle to change the output frequency.
For 56F803x, pls go to the website:
http://www.freescale.com/webapp/sps/site/homepage.jsp?nodeId=012795&tid=FSH
 
This is an example to demostrate how to configure GPIO pins,pls refer to it. If you only want to set/clear one bit, you should use the instruction:
Bfclr #$0001,x:GPIOA_DR
I clear/set all 8 bits in the example.
But I do not know your algorithms to compute the frequency, pls do it yourself.
This example has been developped under CodeWarrior version 8.1
 
0 Kudos