STM32F1 DAC

  • 24 Replies
  • 278 Views
*

Offline tha

  • *****
  • 1415
    • View Profile
Re: STM32F1 DAC
« Reply #8 on: October 19, 2020, 07:30:53 am »
12.3.8 Noise generation
เพื่อสร้าง a variable-amplitude pseudonoise, a Linear Feedback Shift Register มีให้ใช้. The DAC noise generation ถูกเลือกโดยการเซ็ต WAVEx[1:0] เป็น “01”. The preloaded value (ค่าที่โหลดไว้ล่วงหน้า)ใน the LFSR คือ 0xAAA. register นี้ถูกปรับปรุง, three APB1 clock cycles หลังจากแต่ละ trigger event, ตามด้วย a specific calculation algorithm.



The LFSR value, ที่อาจถูก masked บางส่วนหรือทั้งหมดโดยใช้ the MAMPx[3:0] bits ใน the DAC_CR register, จะถูกเพิ่มไปยัง the DAC_DHRx contents โดยไม่ล้น(overflow) และค่านี้จากนั้นจะถูกเก็บลงใน the DAC_DORx register.

ถ้า LFSR คือ 0x0000, a ‘1’ ถูก injected ลงในมัน (antilock-up mechanism).

เป็นไปได้ที่จะรีเซ็ต LFSR wave generation โดยการรีเซ็ต the WAVEx[1:0] bits.



Note: DAC trigger ต้องถูกเปิดการใช้งานสำหรับ noise generation, โดยการเซ็ต the TENx bit ใน the DAC_CR register.

*

Offline tha

  • *****
  • 1415
    • View Profile
Re: STM32F1 DAC
« Reply #9 on: October 19, 2020, 08:27:59 am »
12.3.9 Triangle-wave generation
เป็นไปได้ที่จะเพิ่ม a small-amplitude triangular waveform บน a DC หรือ slowly varying signal. DAC triangle-wave generation ถูกเลือกโดยการเซ็ต WAVEx[1:0] เป็น “10”. The amplitude ถูกกำหนดค่าผ่านทาง the MAMPx[3:0] bits ใน the DAC_CR register. An internal triangle counter ถูกเพิ่ม three APB1 clock cycles หลังจากแต่ละ trigger event. ค่าของ counter นี้จากนั้นถูกเพิ่มลงใน the DAC_DHRx register โดยไม่ล้น(overflow) และผลรวมถูกเก็บลงใน the DAC_DORx register. The triangle counter ถูกเพิ่มขึ้นขณะที่มันน้อยกว่า the maximum amplitude กำหนดโดย the MAMPx[3:0] bits. เมื่อ the configured amplitude ถูกถึง, the counter ถูกลดลงจนถึง 0, จากนั้นก็เพิ่มขึ้นอีกครั้งและดำเนินไปตามนี้.

เป็นไปได้ที่จะรีเซ็ต triangle wave generation โดยการรีเซ็ต WAVEx[1:0] bits.





Note: DAC trigger ต้องถูกเปิดการใช้งานสำหรับ noise generation, โดยการเซ็ต the TENx bit ใน the DAC_CR register.

MAMPx[3:0] bits ต้องถูกกำหนดค่าก่อนการเปิดการใช้งาน the DAC, มิฉะนั้นมันไม่สามารถถูกเปลี่ยนได้.

*

Offline tha

  • *****
  • 1415
    • View Profile
Re: STM32F1 DAC
« Reply #10 on: October 19, 2020, 11:17:08 am »
12.4 Dual DAC channel conversion
เพื่อใช้ the bus bandwidth อย่างมีประสิทธิภาพใน applications ที่ต้องการ the two DAC channels ในเวลาเดียวกัน, 3 dual registers ถูกทำให้เป็นผล: DHR8RD, DHR12RD and DHR12LD. A unique register access จากนั้นถูกต้องการเพื่อขับทั้งสอง DAC channels ในเวลาเดียวกัน. Eleven possible conversion modes สามารถทำได้กับการใช้ the two DAC channels และ dual
registers เหล่านี้. อย่างไรก็ตาม the conversion modes ทั้งหมดสามารถถูกได้มาโดยใช้ DHRx registers แยกกันต่างหากถ้าจำเป็น.

โหมดทั้งหมดถูกอธิบายใน the paragraphs ข้างล่างนี้.

12.4.1 Independent trigger without wave generation
เพื่อกำหนดค่า the DAC ใน conversion mode นี้, ลำดับดังต่อไปนี้ถูกต้องการ :
• เซ็ต the two DAC channel trigger enable bits TEN1 และ TEN2
• กำหนดค่าแหล่งทริกที่ต่างกันโดยการเซ็ตค่าที่ต่างกันใน the TSEL1[2:0] และ TSEL2[2:0] bits
• โหลด the dual DAC channel data ลงใน the desired DHR register (DAC_DHR12RD, DAC_DHR12LD หรือ
   DAC_DHR8RD)

เมื่อ a DAC channel1 trigger มาถึง, the DHR1 register ถูกส่งถ่ายลงใน DAC_DOR1 (three APB1 clock cycles ต่อมา).

เมื่อ a DAC channel2 trigger มาถึง, the DHR2 register ถูกส่งถ่ายลงใน DAC_DOR2 (three APB1 clock cycles ต่อมา).

12.4.2 Independent trigger with same LFSR generation
เพื่อกำหนดค่า the DAC ใน conversion mode นี้, ลำดับดังต่อไปนี้ถูกต้องการ :
• เซ็ต the two DAC channel trigger enable bits TEN1 และ TEN2
• กำหนดค่าแหล่งทริกที่ต่างกันโดยการเซ็ตค่าที่ต่างกันใน the TSEL1[2:0] และ TSEL2[2:0] bits
• กำหนดค่า the two DAC channel WAVEx[1:0] bits เป็น “01” ด้วย the same(เดียวกัน) LFSR mask value ใน the
   MAMPx[3:0] bits
• โหลด the dual DAC channel data ลงใน the desired(ที่ต้องการ) DHR register (DHR12RD, DHR12LD or DHR8RD)

เมื่อ a DAC channel1 trigger มาถึง, the LFSR1 counter, ด้วย the same mask, ถูกเพิ่มไปยัง the DHR1 register และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR1 (three APB1 clock cycles ต่อมา). จากนั้น the LFSR1 counter ถูก updated.

เมื่อ a DAC channel2 trigger มาถึง, the LFSR2 counter, ด้วย the same mask, ถูกเพิ่มไปยัง the DHR2 register และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR2 (three APB1 clock cycles ต่อมา). จากนั้น the LFSR2 counter ถูก updated.

*

Offline tha

  • *****
  • 1415
    • View Profile
Re: STM32F1 DAC
« Reply #11 on: October 20, 2020, 06:59:19 am »
12.4.3 Independent trigger with different LFSR generation
เพื่อกำหนดค่า the DAC ใน conversion mode นี้, ลำดับดังต่อไปนี้ถูกต้องการ :
• เซ็ต the two DAC channel trigger enable bits TEN1 และ TEN2
• กำหนดค่าแหล่งทริกที่ต่างกันโดยการเซ็ตค่าที่ต่างกันใน the TSEL1[2:0] และ TSEL2[2:0] bits
• กำหนดค่า the two DAC channel WAVEx[1:0] bits เป็น “01”  และเซ็ต different LFSR masks values (ค่าบัง LFSR ที่ต่าง
   กัน) ใน the MAMP1[3:0] และ MAMP2[3:0] bits
• โหลด the dual DAC channel data ลงใน the desired DHR register (DAC_DHR12RD, DAC_DHR12LD or
   DAC_DHR8RD)

เมื่อ a DAC channel1 trigger มาถึง, the LFSR1 counter, ด้วย the mask กำหนดค่าโดย MAMP1[3:0], ถูกเพิ่มไปยัง the DHR1 register และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR1
(three APB1 clock cycles ต่อมา). จากนั้น the LFSR1 counter ถูก updated.

เมื่อ a DAC channel2 trigger มาถึง, the LFSR2 counter, ด้วย the mask กำหนดค่าโดย MAMP2[3:0], ถูกเพิ่มไปยัง the DHR2 register และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR2
(three APB1 clock cycles ต่อมา). จากนั้น the LFSR2 counter ถูก updated.

12.4.4 Independent trigger with same triangle generation
เพื่อกำหนดค่า the DAC ใน conversion mode นี้, ลำดับดังต่อไปนี้ถูกต้องการ :
• เซ็ต the two DAC channel trigger enable bits TEN1 และ TEN2
• กำหนดค่าแหล่งทริกที่ต่างกันโดยการเซ็ตค่าที่ต่างกันใน the TSEL1[2:0] และ TSEL2[2:0] bits
• กำหนดค่า the two DAC channel WAVEx[1:0] bits เป็น “1x” และ the same maximum amplitude value ใน the
   MAMPx[3:0] bits
• โหลด the dual DAC channel data ลงใน the desired DHR register (DAC_DHR12RD, DAC_DHR12LD or
   DAC_DHR8RD)

เมื่อ a DAC channel1 trigger มาถึง, the DAC channel1 triangle counter, ด้วย the same triangle amplitude, ถูกเพิ่มไปยัง the DHR1 register และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR1 (three APB1 clock cycles ต่อมา). The DAC channel1 triangle counter จากนั้นถูก updated.

เมื่อ a DAC channel2 trigger มาถึง, the DAC channel2 triangle counter, ด้วย the same triangle amplitude, ถูกเพิ่มไปยัง the DHR2 register และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR2 (three APB1 clock cycles ต่อมา). The DAC channel2 triangle counter จากนั้นถูก updated.

*

Offline tha

  • *****
  • 1415
    • View Profile
Re: STM32F1 DAC
« Reply #12 on: October 20, 2020, 07:16:05 am »
12.4.5 Independent trigger with different triangle generation
เพื่อกำหนดค่า the DAC ใน conversion mode นี้, ลำดับดังต่อไปนี้ถูกต้องการ :
• เซ็ต the two DAC channel trigger enable bits TEN1 และ TEN2
• กำหนดค่าแหล่งทริกที่ต่างกันโดยการเซ็ตค่าที่ต่างกันใน the TSEL1[2:0] และ TSEL2[2:0] bits
• กำหนดค่า the two DAC channel WAVEx[1:0] bits เป็น “1x” และเซ็ต different maximum amplitude values ใน the
   MAMP1[3:0] และ MAMP2[3:0] bits
• โหลด the dual DAC channel data ลงใน the desired DHR register (DAC_DHR12RD, DAC_DHR12LD or
   DAC_DHR8RD)

เมื่อ a DAC channel1 trigger มาถึง, the DAC channel1 triangle counter, ด้วย a triangle amplitude กำหนดค่าโดย  MAMP1[3:0], ถูกเพิ่มไปยัง the DHR1 register และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR1 (three APB1 clock cycles ต่อมา). The DAC channel1 triangle counter จากนั้นถูก updated.

เมื่อ a DAC channel2 trigger มาถึง, the DAC channel2 triangle counter, ด้วย a triangle amplitude กำหนดค่าโดย MAMP2[3:0], ถูกเพิ่มไปยัง the DHR2 register part และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR2 (three APB1 clock cycles ต่อมา). The DAC channel2 triangle counter จากนั้นถูก updated.

12.4.6 Simultaneous software start
เพื่อกำหนดค่า the DAC ใน conversion mode นี้, ลำดับดังต่อไปนี้ถูกต้องการ :
• โหลด the dual DAC channel data ไปยัง the desired DHR register (DAC_DHR12RD, DAC_DHR12LD or
   DAC_DHR8RD)

ในการกำหนดค่านี้, one APB1 clock cycle ต่อมา, the DHR1 and DHR2 registers  ถูกส่งถ่ายลงใน DAC_DOR1 and DAC_DOR2, ตามลำดับ.

*

Offline tha

  • *****
  • 1415
    • View Profile
Re: STM32F1 DAC
« Reply #13 on: October 20, 2020, 07:31:44 am »
12.4.7 Simultaneous trigger without wave generation
เพื่อกำหนดค่า the DAC ใน conversion mode นี้, ลำดับดังต่อไปนี้ถูกต้องการ :
• เซ็ต the two DAC channel trigger enable bits TEN1 และ TEN2
• กำหนดค่าแหล่งทริกเดียวกันสำหรับทั้งสอง DAC channels โดยการเซ็ตค่าเดียวกันใน the TSEL1[2:0] and TSEL2[2:0] bits
• โหลด the dual DAC channel data ไปยัง the desired DHR register (DAC_DHR12RD, DAC_DHR12LD or
   DAC_DHR8RD)

เมื่อ a trigger มาถึง, the DHR1 and DHR2 registers ถูกส่งถ่ายลงใน DAC_DOR1 and DAC_DOR2, ตามลำดับ (หลังจาก three APB1 clock cycles).

12.4.8 Simultaneous trigger with same LFSR generation
เพื่อกำหนดค่า the DAC ใน conversion mode นี้, ลำดับดังต่อไปนี้ถูกต้องการ :
• เซ็ต the two DAC channel trigger enable bits TEN1 and TEN2
• กำหนดค่าแหล่งทริกเดียวกันสำหรับทั้งสอง DAC channels โดยการเซ็ตค่าเดียวกันใน the TSEL1[2:0] and TSEL2[2:0] bits
• กำหนดค่า the two DAC channel WAVEx[1:0] bits เป็น “01” และ the same LFSR mask value ใน the MAMPx[3:0] bits
• โหลด the dual DAC channel data ไปยัง the desired DHR register (DHR12RD, DHR12LD or DHR8RD)

เมื่อ a trigger มาถึง, the LFSR1 counter, ด้วย the same mask, ถูกเพิ่มไปยัง the DHR1 register และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR1 (three APB1 clock cycles ต่อมา). The LFSR1 counter จากนั้นถูก updated. ในเวลาเดียวกัน, the LFSR2 counter, ด้วย the same mask,  ถูกเพิ่มไปยัง the DHR2 register และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR2 (three APB1
clock cycles ต่อมา). The LFSR2 counter จากนั้นถูก updated.

*

Offline tha

  • *****
  • 1415
    • View Profile
Re: STM32F1 DAC
« Reply #14 on: October 20, 2020, 12:41:46 pm »
12.4.9 Simultaneous trigger with different LFSR generation
เพื่อกำหนดค่า the DAC ใน conversion mode นี้, ลำดับดังต่อไปนี้ถูกต้องการ :
• เซ็ต the two DAC channel trigger enable bits TEN1 and TEN2
• กำหนดค่าแหล่งทริกเดียวกันสำหรับทั้งสอง DAC channels โดยการเซ็ตค่าเดียวกันใน the TSEL1[2:0] and TSEL2[2:0] bits
• กำหนดค่า the two DAC channel WAVEx[1:0] bits เป็น “01” และเซ็ต different LFSR masks values โดยใช้ the
   MAMP1[3:0] และ MAMP2[3:0] bits
• โหลด the dual DAC channel data ลงใน the desired DHR register (DAC_DHR12RD, DAC_DHR12LD or
   DAC_DHR8RD)

เมื่อ a trigger มาถึง, the LFSR1 counter, ด้วย the mask กำหนดค่าโดย MAMP1[3:0] , ถูกเพิ่มไปยัง the DHR1 register และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR1 (three APB1 clock cycles ต่อมา). The LFSR1 counter จากนั้นถูก updated.

ในเวลาเดียวกัน, the LFSR2 counter, ด้วย the mask  กำหนดค่าโดย MAMP2[3:0] , ถูกเพิ่มไปยัง the DHR2 register และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR2 (three APB1 clock cycles ต่อมา). The LFSR2 counter จากนั้นถูก updated.

12.4.10 Simultaneous trigger with same triangle generation
เพื่อกำหนดค่า the DAC ใน conversion mode นี้, ลำดับดังต่อไปนี้ถูกต้องการ :
• เซ็ต the two DAC channel trigger enable bits TEN1 and TEN2
• กำหนดค่าแหล่งทริกเดียวกันสำหรับทั้งสอง DAC channels โดยการเซ็ตค่าเดียวกันใน the TSEL1[2:0] and TSEL2[2:0] bits
• กำหนดค่า the two DAC channel WAVEx[1:0] bits เป็น “1x”  และ the same maximum amplitude value โดยใช้ the
   MAMPx[3:0] bits
• โหลด the dual DAC channel data ลงใน the desired DHR register (DAC_DHR12RD, DAC_DHR12LD or
   DAC_DHR8RD)

เมื่อ a trigger มาถึง, the DAC channel1 triangle counter, ด้วย the same triangle amplitude, ถูกเพิ่มไปยัง the DHR1 register และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR1 (three APB1 clock cycles ต่อมา). The DAC channel1 triangle counter จากนั้นถูก updated.

ในเวลาเดียวกัน, the DAC channel2 triangle counter, ด้วย the same triangle amplitude, ถูกเพิ่มไปยัง the DHR2 register และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR2 (three APB1 clock cycles ต่อมา). The DAC channel2 triangle counter จากนั้นถูก updated.

12.4.11 Simultaneous trigger with different triangle generation
เพื่อกำหนดค่า the DAC ใน conversion mode นี้, ลำดับดังต่อไปนี้ถูกต้องการ :
• เซ็ต the two DAC channel trigger enable bits TEN1 and TEN2
• กำหนดค่าแหล่งทริกเดียวกันสำหรับทั้งสอง DAC channels โดยการเซ็ตค่าเดียวกันใน the TSEL1[2:0] and TSEL2[2:0] bits
• กำหนดค่า the two DAC channel WAVEx[1:0] bits เป็น “1x” และเซ็ต different maximum amplitude values ใน the
   MAMP1[3:0] และ MAMP2[3:0] bits
• Load the dual DAC channel data into the desired DHR register (DAC_DHR12RD,
   DAC_DHR12LD or DAC_DHR8RD)

เมื่อ a trigger มาถึง, the DAC channel1 triangle counter, ด้วย a triangle amplitude กำหนดค่าโดย MAMP1[3:0], ถูกเพิ่มไปยัง the DHR1 register และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR1 (three APB1 clock cycles ต่อมา). จากนั้น the DAC channel1 triangle counter ถูก updated.

ในเวลาเดียวกัน, the DAC channel2 triangle counter, ด้วย a triangle amplitude กำหนดค่าโดย MAMP2[3:0], ถูกเพิ่มไปยัง the DHR2 register และผลรวมจะถูกส่งถ่ายลงใน DAC_DOR2 (three APB1 clock cycles ต่อมา). จากนั้น the DAC channel2 triangle counter ถูก updated.

*

Offline tha

  • *****
  • 1415
    • View Profile
Re: STM32F1 DAC
« Reply #15 on: October 21, 2020, 09:25:52 am »
12.5 DAC registers
The peripheral registers ต้องถูกเข้าถึงโดย words (32-bit).



Bits 31:29 Reserved.
Bit 28 DMAEN2: DAC channel2 DMA enable
บิตนี้ถูกเซ็ตและเคลียร์โดย software.
     0: DAC channel2 DMA mode ปิดการใช้งานอยู่
     1: DAC channel2 DMA mode เปิดการใช้งานอยู่

Bit 27:24 MAMP2[3:0]: DAC channel2 mask/amplitude selector
บิตเหล่านี้ถูกเขียนโดย software เพื่อเลือกการบัง(mask) ใน wave generation mode หรือ amplitude ใน triangle generation mode.
     0000: ไม่บัง bit0 ของ LFSR/ Triangle Amplitude เท่ากับ 1
     0001: Unmask bits[1:0] of LFSR/ Triangle Amplitude equal to 3
     0010: Unmask bits[2:0] of LFSR/ Triangle Amplitude equal to 7
     0011: Unmask bits[3:0] of LFSR/ Triangle Amplitude equal to 15
     0100: Unmask bits[4:0] of LFSR/ Triangle Amplitude equal to 31
     0101: Unmask bits[5:0] of LFSR/ Triangle Amplitude equal to 63
     0110: Unmask bits[6:0] of LFSR/ Triangle Amplitude equal to 127
     0111: Unmask bits[7:0] of LFSR/ Triangle Amplitude equal to 255
     1000: Unmask bits[8:0] of LFSR/ Triangle Amplitude equal to 511
     1001: Unmask bits[9:0] of LFSR/ Triangle Amplitude equal to 1023
     1010: Unmask bits[10:0] of LFSR/ Triangle Amplitude equal to 2047
     ≥ 1011: Unmask bits[11:0] of LFSR/ Triangle Amplitude equal to 4095

Bit 23:22 WAVE2[1:0]: DAC channel2 noise/triangle wave generation enable
บิตเหล่านี้ถูก set/reset โดย software.
     00: wave generation ปิดการใช้งานอยู่
     01: Noise wave generation เปิดการใช้งานอยู่
     1x: Triangle wave generation เปิดการใช้งานอยู่
Note: ถูกใช้เพียงถ้า bit TEN2 = 1 (DAC channel2 trigger enabled)

Bits 21:19 TSEL2[2:0]: DAC channel2 trigger selection
บิตเหล่านี้เลือก the external event ใช้เพื่อทริกเกอร์ DAC channel2
     000: Timer 6 TRGO event
     001: Timer 3 TRGO event ใน connectivity line devices, Timer 8 TRGO ใน high-density และ XL-density devices
     010: Timer 7 TRGO event
     011: Timer 5 TRGO event
     100: Timer 2 TRGO event
     101: Timer 4 TRGO event
     110: External line9
     111: Software trigger
Note: ถูกใช้เพียงถ้า bit TEN2 = 1 (DAC channel2 trigger enabled)

Bit 18 TEN2: DAC channel2 trigger enable
บิตนี้ถูกเซ็ตและเคลียร์โดย software เพื่อ enable/disable DAC channel2 trigger
     0: DAC channel2 trigger ปิดการใช้งานอยู่และ data ที่เขียนลงใน DAC_DHRx register ถูกส่งถ่าย one APB1 clock cycle ต่อ
         มาไปยัง the DAC_DOR2 register.
     1: DAC channel2 trigger เปิดการใช้งานอยู่และ data ส่งถ่ายจาก DAC_DHRx register ถูกส่งถ่าย three APB1 clock cycles
         ต่อมาไปยัง the DAC_DOR2 register.
Note: เมื่อ software trigger ถูกเลือก, มันใช้เวลาเพียง one APB1 clock cycle สำหรับ DAC_DHRx ไปยัง DAC_DOR2 register transfer.

Bit 17 BOFF2: DAC channel2 output buffer disable
บิตนี้ถูกเซ็ตและเคลียร์โดย software เพื่อ enable/disable DAC channel2 output buffer.
     0: DAC channel2 output buffer เปิดการใช้งานอยู่
     1: DAC channel2 output buffer ปิดการใช้งานอยู่

Bit 16 EN2: DAC channel2 enable
บิตนี้ถูกเซ็ตและเคลียร์โดย software เพื่อ enable/disable DAC channel2.
     0: DAC channel2 disabled
     1: DAC channel2 enabled

Bits 15:13 Reserved.

Bit 12 DMAEN1: DAC channel1 DMA enable
This bit is set and cleared by software.
     0: DAC channel1 DMA mode disabled
     1: DAC channel1 DMA mode enabled

Bits 11:8 MAMP1[3:0]: DAC channel1 mask/amplitude selector
บิตเหล่านี้ถูกเขียนโดย software เพื่อเลือกการบัง(mask) ใน wave generation mode หรือ amplitude ใน triangle generation mode.
     0000: ไม่บัง bit0 of LFSR/ Triangle Amplitude เท่ากับ 1
     0001: Unmask bits[1:0] of LFSR/ Triangle Amplitude equal to 3
     0010: Unmask bits[2:0] of LFSR/ Triangle Amplitude equal to 7
     0011: Unmask bits[3:0] of LFSR/ Triangle Amplitude equal to 15
     0100: Unmask bits[4:0] of LFSR/ Triangle Amplitude equal to 31
     0101: Unmask bits[5:0] of LFSR/ Triangle Amplitude equal to 63
     0110: Unmask bits[6:0] of LFSR/ Triangle Amplitude equal to 127
     0111: Unmask bits[7:0] of LFSR/ Triangle Amplitude equal to 255
     1000: Unmask bits[8:0] of LFSR/ Triangle Amplitude equal to 511
     1001: Unmask bits[9:0] of LFSR/ Triangle Amplitude equal to 1023
     1010: Unmask bits[10:0] of LFSR/ Triangle Amplitude equal to 2047
     ≥ 1011: Unmask bits[11:0] of LFSR/ Triangle Amplitude equal to 4095

Bits 7:6 WAVE1[1:0]: DAC channel1 noise/triangle wave generation enable
บิตเหล่านี้ถูก set/reset โดย software.
     00: wave generation disabled
     01: Noise wave generation enabled
     1x: Triangle wave generation enabled
Note: ถูกใช้เพียงถ้า bit TEN1 = 1 (DAC channel1 trigger enabled)

Bits 5:3 TSEL1[2:0]: DAC channel1 trigger selection
บิตเหล่านี้เลือก the external event ใช้เพื่อทริกเกอร์ DAC channel1
     000: Timer 6 TRGO event
     001: Timer 3 TRGO event ใน connectivity line devices, Timer 8 TRGO ใน high-density และ XL-density devices
     010: Timer 7 TRGO event
     011: Timer 5 TRGO event
     100: Timer 2 TRGO event
     101: Timer 4 TRGO event
     110: External line9
     111: Software trigger
Note: ถูกใช้เพียงถ้า bit TEN1 = 1 (DAC channel1 trigger enabled)

Bit 2 TEN1: DAC channel1 trigger enable
บิตนี้ถูกเซ็ตและเคลียร์โดย software เพื่อ enable/disable DAC channel1 trigger
     0: DAC channel1 trigger ปิดการใช้งานอยู่และ data ที่เขียนลงใน DAC_DHRx register ถูกส่งถ่าย one APB1 clock cycle ต่อ
         มาไปยัง the DAC_DOR1 register.
     1: DAC channel1 trigger เปิดการใช้งานอยู่และ data ส่งถ่ายจาก DAC_DHRx register ถูกส่งถ่าย three APB1 clock cycles
         ต่อมาไปยัง the DAC_DOR1 register.
Note: เมื่อ software trigger ถูกเลือก, มันใช้เวลาเพียง one APB1 clock cycle สำหรับ DAC_DHRx ไปยัง DAC_DOR1 register transfer.

Bit 1 BOFF1: DAC channel1 output buffer disable
บิตนี้ถูกเซ็ตและเคลียร์โดย software เพื่อ enable/disable DAC channel1 output buffer.
     0: DAC channel1 output buffer enabled
     1: DAC channel1 output buffer disabled

Bit 0 EN1: DAC channel1 enable
บิตนี้ถูกเซ็ตและเคลียร์โดย software เพื่อ enable/disable DAC channel1.
     0: DAC channel1 disabled
     1: DAC channel1 enabled