Recent Posts

Pages: [1] 2 3 ... 10
1
ARM Processors / Re: STM32F1 DAC
« Last post by tha on Today at 10:14:31 am »


ปล. ก็จบไปอีกตอน เอาอะไรต่อดีหล่ะ TIM1&TIM8 เลยนะ จะเอาอะไรก็บอกมา พรุ่งนี้ค่อยแปล
2
ARM Processors / Re: STM32F1 DAC
« Last post by tha on Today at 10:09:06 am »
3
ARM Processors / Re: STM32F1 DAC
« Last post by tha on Today at 10:05:58 am »
4
ARM Processors / Re: STM32F1 DAC
« Last post by tha on Today at 10:03:22 am »
5
ARM Processors / Re: STM32F1 DAC
« Last post by tha on Today at 09:59:38 am »


Bits 31:8 Reserved.
Bits 7:0 DACC1DHR[7:0]: DAC channel1 8-bit right-aligned data
     บิตเหล่านี้ถูกเขียนโดย software ซึ่งระบุ 8-bit data สำหรับ DAC channel1.
6
ARM Processors / Re: STM32F1 DAC
« Last post by tha on Today at 09:56:29 am »


Bits 31:16 Reserved.
Bit 15:4 DACC1DHR[11:0]: DAC channel1 12-bit left-aligned data
บิตเหล่านี้ถูกเขียนโดย software ซึ่งระบุ 12-bit data สำหรับ DAC channel1.
Bits 3:0 Reserved.
7
ARM Processors / Re: STM32F1 DAC
« Last post by tha on Today at 09:53:21 am »


Bits 31:12 Reserved.
Bit 11:0 DACC1DHR[11:0]: DAC channel1 12-bit right-aligned data
บิตเหล่านี้ถูกเขียนโดย software ซึ่งระบุ 12-bit data สำหรับ DAC channel1.
8
ARM Processors / Re: STM32F1 DAC
« Last post by tha on Today at 09:48:09 am »


Bits 31:2 Reserved.
Bit 1 SWTRIG2: DAC channel2 software trigger
บิตนี้ถูกเซ็ตและเคลียร์โดย software เพื่อ enable/disable the software trigger.
     0: Software trigger disabled
     1: Software trigger enabled
Note: บิตนี้ถูก reset โดย hardware (one APB1 clock cycle ต่อมา) ทันทีที่ the DAC_DHR2 register value ถูกโหลดไปยัง the DAC_DOR2 register.

Bit 0 SWTRIG1: DAC channel1 software trigger
บิตนี้ถูกเซ็ตและเคลียร์โดย software เพื่อ enable/disable the software trigger.
     0: Software trigger disabled
     1: Software trigger enabled
Note: บิตนี้ถูก reset โดย hardware (one APB1 clock cycle ต่อมา) ทันทีที่ the DAC_DHR1 register value ถูกโหลดไปยัง the DAC_DOR1 register.
9
ARM Processors / Re: STM32F1 DAC
« Last post by tha on Today at 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
10
ARM Processors / Re: STM32F1 DAC
« Last post by tha 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.
Pages: [1] 2 3 ... 10