ad9912.c 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #include "ad9912.h"
  2. const uint32_t ad9912regs[AD9912_COUNT] = {
  3. 0x000018,
  4. 0x000100,
  5. 0x000202,
  6. 0x000309,
  7. 0x000400,
  8. 0x000500,
  9. 0x001010,
  10. 0x001200,
  11. 0x001300,
  12. 0x002012,
  13. 0x002204,
  14. 0x010400,
  15. 0x010500,
  16. 0x010600,
  17. 0x01A685,
  18. 0x01A7EB,
  19. 0x01A851,
  20. 0x01A9B8,
  21. 0x01AA1E,
  22. 0x01AB01,
  23. 0x01AC00,
  24. 0x01AD00,
  25. 0x020005,
  26. 0x020100,
  27. 0x040BFF,
  28. 0x040C01,
  29. 0x040E10,
  30. 0x050000,
  31. 0x050100,
  32. 0x050200,
  33. 0x050300,
  34. 0x050400,
  35. 0x050500,
  36. 0x050600,
  37. 0x050700,
  38. 0x050800,
  39. 0x050900
  40. };
  41. /*-------------------------AD9912 INIT FUNCTION-------------------------*/
  42. void ad9912_init(void *bar1) {
  43. uint32_t *ptr_rst = bar1 + AD9912_BASE_ADDR;
  44. *ptr_rst = GPIO_INIT_HEADER;
  45. //Rst on
  46. *ptr_rst = AD9912_RST_ON;
  47. // Rst off
  48. *ptr_rst = GPIO_REG;
  49. //Init Header
  50. uint32_t *ptr = bar1 + AD9912_BASE_ADDR;
  51. *ptr = InitDDSHeader;
  52. //Init Data
  53. for (int k = 0; k < AD9912_COUNT; k++) {
  54. uint32_t *ptr = bar1 + AD9912_BASE_ADDR;
  55. *ptr = ad9912regs[k];
  56. }
  57. }
  58. /*----------------------------------------------------------------------*/