Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - tha

Pages: [1] 2 3 ... 20
1
ARM Processors / STM32F7 5 Reset and clock control (RCC)
« on: September 16, 2022, 01:43:08 pm »
5 Reset and clock control (RCC)

5.1 Reset

มี 3 ชนิดของ reset, ที่กำหนดเป็น system reset, power reset และ backup domain reset.

5.1.1 System reset

A system reset จะเซ็ต registers ทั้งหมดไปเป็น reset values ของพวกมัน ยกเว้น the reset flags ใน the clock controller CSR register และ the registers ใน the Backup domain (ดู Figure 12).

A system reset ถูกสร้างขึ้นเมื่อหนึ่งในเหตการณ์ต่อไปนี้ เกิดขึ้น :
1. A low level บน the NRST pin (external reset)
2. Window watchdog การสิ้นสุดของเงื่อนใขการนับ (WWDG reset)
3. Independent watchdog การสิ้นสุดของเงื่อนใขการนับ (IWDG reset)
4. A software reset (SW reset) (ดู Software reset)
5. Low-power management reset (ดู Low-power management reset)

Software reset

The reset source สามารถถูกวินิจฉัยโดยการเช็ค the reset flags ใน the RCC clock control & status register (RCC_CSR).

The SYSRESETREQ bit ใน Cortex®-M7 Application Interrupt and Reset Control Register ต้องถูกเซ็ตเพื่อบังคับ a software reset บน the device. อ้างอิงถึง the Cortex®-M7 technical reference manual สำหรับรายละเอียดที่มากขึ้น.

Low-power management reset

มี 2 ทางที่จะสร้าง a low-power management reset:
1.    Reset ที่สร้างขึ้นเมื่อเข้าสู่ Standby mode:
       reset ชนิดนี้ถูกเปิดการใช้งานโดยการรีเซ็ต nRST_STDBY bit ใน User Option Bytes. ในกรณีนี้, เมื่อไรก็ตาม a Standby
       mode entry sequence ถูกปฏิบัติสำเร็จลง, the device ถูกรีเซ็ตแทนการเข้าสู่ Standby mode.
2.    Reset เมื่อเข้าสู่ Stop mode:
       reset ชนิดนี้ถูกเปิดการใช้งานโดยการรีเซ็ต nRST_STOP bit ใน User Option Bytes. ในกรณีนี้, เมื่อไรก็ตาม a Stop mode
       entry sequence ถูกปฏิบัติสำเร็จลง, the device ถูก reset แทนการเข้าสู่ Stop mode.

2
ARM Processors / STM32F7 8 Direct memory access controller (DMA)
« on: September 16, 2022, 09:00:56 am »
8 Direct memory access controller (DMA)

8.1 DMA introduction

Direct memory access (DMA) ถูกใช้เพื่อจัดให้มี high-speed data transfer ระหว่าง peripherals and memory และระหว่าง memory and memory. Data สามารถถูกย้ายอย่างรวดเร็วโดย DMA โดยไม่มี CPU action ใดๆ. สิ่งนี้ทำให้ CPU resources ฟรีสำหรับการทำงานอื่นๆ.

The DMA controller รวม a powerful dual AHB master bus architecture เข้ากับ independent FIFO เพื่อทำให้ the bandwidth of the system ดีขึ้น, บนฐานของ a complex bus matrix architecture

The two DMA controllers (DMA1 and DMA2) มีทั้งหมด 16 streams (8 สำหรับแต่ละ controller), แต่ละสตรีมอุทิศให้การจัดการ memory access requests จากหนึ่ง peripherals ขึ้นไป.

แต่ละ stream สามารถมีทั้งหมดมากถึง 8 channels (requests).

แต่ละ DMA controller มี an arbiter สำหรับจัดการ the priority ระหว่าง DMA requests

3
ARM Processors / STM32F7 15 Analog-to-digital converter (ADC)
« on: September 01, 2022, 06:48:47 am »
https://www.st.com/resource/en/reference_manual/dm00124865-stm32f75xxx-and-stm32f74xxx-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf

15 Analog-to-digital converter (ADC)

15.1 ADC introduction

The 12-bit ADC เป็น a successive approximation analog-to-digital converter. มันมีสูงถึง 19 multiplexed channels ช่วยให้มันวัด signals จาก 16 external sources, two internal sources, และ the VBAT channel. The A/D conversion of the channels สามารถถูกดำเนินการใน single, continuous, scan or discontinuous mode. The result of the ADC ถูกเก็บลงในชิดซ้ายหรือชิดขวา 16-bit data register.

The analog watchdog feature ช่วยให้ the application ตรวจพบหาก the input voltage เกินกว่าที่ผู้ใช้กำหนด, สูงกว่าหรือต่ำกว่าขอบเขต.

4
ARM Processors / 36 HAL TIM Generic Driver
« on: August 01, 2022, 09:22:58 am »


Field Documentation
•   uint32_t TIM_Base_InitTypeDef::Prescaler
     ระบุ the prescaler value ที่ใช้เพื่อหาร the TIM clock. This parameter สามารถเป็น a number ระหว่าง Min_Data =
     0x0000 and Max_Data = 0xFFFF
•   uint32_t TIM_Base_InitTypeDef::CounterMode
     ระบุ the counter mode. This parameter สามารถเป็นค่าหนึ่งของ TIM_Counter_Mode
•   uint32_t TIM_Base_InitTypeDef::Period
     ระบุ the period value ที่จะถูกโหลดลงใน the active Auto-Reload Register ที่ the next update event. This parameter
     สามารถเป็น a number ระหว่าง Min_Data = 0x0000 and Max_Data = 0xFFFF.
•   uint32_t TIM_Base_InitTypeDef::ClockDivision
     ระบุ the clock division. This parameter สามารถเป็นค่าหนึ่งของ TIM_ClockDivision
•   uint32_t TIM_Base_InitTypeDef::RepetitionCounter
     ระบุ the repetition counter value. แต่ละครั้งที่ the RCR downcounter ถึงศูนย์, an update event จะถูกสร้างและการนับจะ
     สตาร์ทใหม่จาก the RCR value (N). ซึ่งหมายความว่าใน PWM mode ที่ (N+1) ตรงกันกับ:
     –   จำนวนของ PWM periods ใน edge-aligned mode
     –   จำนวนของ half PWM period ใน center-aligned mode GP timers: this parameter ต้องเป็น a number ระหว่าง
          Min_Data = 0x00 and Max_Data = 0xFF. Advanced timers: this parameter ต้องเป็น a number ระหว่าง
          Min_Data = 0x0000 and Max_Data = 0xFFFF.
•   uint32_t TIM_Base_InitTypeDef::AutoReloadPreload
     ระบุ the auto-reload preload. This parameter สามารถเป็นค่าหนึ่งของ TIM_AutoReloadPreload

5
ARM Processors / 10 HAL CORTEX Generic Driver
« on: July 28, 2022, 09:01:55 am »
10   HAL CORTEX Generic Driver

10.1   CORTEX Firmware driver API description

ส่วนต่อไปนี้แสดงรายการ the various functions of the CORTEX library.

10.1.1   How to use this driver

วิธีกำหนดค่า Interrupts โดยใช้ CORTEX HAL driver

ส่วนนี้จัดให้มีฟังก์ชันที่อนุญาตให้กำหนดค่า the NVIC interrupts (IRQ). The Cortex-M3 exceptions ถูกจัดการโดย CMSIS functions.
1.   กำหนดค่า the NVIC Priority Grouping โดยใช้ HAL_NVIC_SetPriorityGrouping() function สอดคล้องกับ the following
      table.
2.   กำหนดค่า the priority ของ the selected IRQ Channels โดยใช้ HAL_NVIC_SetPriority().
3.   เปิดใช้งาน the selected IRQ Channels โดยใช้ HAL_NVIC_EnableIRQ().
4.   โปรดดูที่ programming manual สำหรับรายละเอียดเกี่ยวกับวิธีกำหนดค่า priority.

Note:   เมื่อ the NVIC_PRIORITYGROUP_0 ถูกเลือก, IRQ preemption ไม่สามารถทำได้อีกต่อไป. The pending IRQ
            priority จะถูกจัดการได้เพียงโดย the sub priority.
Note:   IRQ priority order (จัดเรียงตาม highest ไปยัง lowest priority):
            –   Lowest preemption priority
            –   Lowest sub priority
            –   Lowest hardware priority (IRQ number)

6
ARM Processors / 9 HAL CAN Generic Driver
« on: July 10, 2022, 01:55:27 pm »


7
ARM Processors / 8 HAL ADC Extension Driver
« on: July 07, 2022, 08:05:40 am »

8
ARM Processors / 7 HAL ADC Generic Driver
« on: June 28, 2022, 08:51:00 am »
7   HAL ADC Generic Driver

7.1   ADC Firmware driver registers structures

7.1.1   ADC_InitTypeDef
ADC_InitTypeDef ถูกกหนดใน the stm32f1xx_hal_adc.h
Data Fields
•   uint32_t DataAlign
•   uint32_t ScanConvMode
•   FunctionalState ContinuousConvMode
•   uint32_t NbrOfConversion
•   FunctionalState DiscontinuousConvMode
•   uint32_t NbrOfDiscConversion
•   uint32_t ExternalTrigConv
   

Pages: [1] 2 3 ... 20