Ярлыки

_GetPixelIndex (1) _SetPixelIndex (1) 3-phase (1) 800x480 (1) АЦП (1) генератор (1) синхронный усилитель (2) структура (1) учебный курс (1) шаговый двигатель (1) ШИМ (2) accert (1) AD7608 (1) AD8429 (1) ADC (5) amplifer (1) arccos (1) arcsin (1) arctang (2) arctg (3) ARM (2) arm_sqrt_q15 (2) assembler (6) ASSERT (1) atan (2) bit (1) Bitband (1) boot (3) bootlloader (1) BUTTON (1) C (5) C# (1) CAN (2) CC2530 (5) CMSIS (4) command (1) Cordic (1) Core746I (1) CubeMX (4) DBGMCU (2) debug (2) debug.ini (1) delegate (1) Digital Potentiometers (1) DigitalPOT (1) Discovery (1) DMA (9) DMA2D (1) DSP (1) DSP library (1) DWT (1) EFM32 (5) EmWin (9) EXTI (1) FATFS (1) FMC (2) FreeRTOS (2) gl868-dual cmux (1) GPIO (4) GUI (2) GUIBuilder (1) GUIDRV_CompactColor_16 (1) HAL (3) HappyGecko (1) Hard Fault (2) heap (1) I2C (1) ID (1) ILI9320 (1) ILI9325 (1) Initialisation (1) InitLTDC (1) Instrumentithion (1) Interrupt (4) ITR (1) JTAG (1) Keil (5) LCDConf (2) lock-in (1) LTCD (1) LTDC (3) main (1) memory (1) MINI_STM32 Revision 01 (1) nBoot0 (1) NVIC (1) OnePulse (2) OSAL (4) pack (1) phase (1) printf (3) Pulse (1) PWM (12) RCC (2) RCR (1) Register (1) RESET (2) RS232 (3) RSS (1) RTC (3) RTOS-RTX (1) RTT (1) RTX-RTOS (1) SDCard (1) SDRAM (6) Segger (2) SPI (3) sqrt (3) SSD1298 (1) SSD1963 (1) Standart Peripherial Library (3) STANDBAY (1) startup (1) STemWin (8) stepper motor (1) STlink (2) STM32 (17) STM32429ZI (1) STM32Cube (1) STM32DBG.IN (1) STM32F (28) STM32F0 (4) STM32F1 (13) STM32F4 (10) STM32F4 Discovery (1) STM32F407ZG (1) STM32F429 (2) STM32F746 (1) STOP (1) string (1) struct (1) SWD (1) SWD JTAG (1) Synhronization (1) system_stm32f4xx.c (1) SystemInit (1) SysTick (1) task (4) telit (1) TIM (27) typedef (1) UART (1) USART (9) viewer (2) WM_PAINT (1) Z-stack (5) ZigBee (5)
Показаны сообщения с ярлыком Digital Potentiometers. Показать все сообщения
Показаны сообщения с ярлыком Digital Potentiometers. Показать все сообщения

вторник, 12 апреля 2016 г.

STM32F4 & F0 CubeMX for Digital Potentiometers MCP453X/455X/463X/465X

MCP453X/455X/463X/465X

6.2.4 ADDRESSING
The address byte is the first byte received following the START condition from the master device. The address contains four (or more) fixed bits and (up to) three user defined hardware address bits (pins A2, A1, and A0). These 7-bits address the desired I2C device. The A7:A4 address bits are fixed to “0101” and the device appends the value of following three address pins (A2, A1, A0). Address pins that are not present on the device are pulled up (a bit value of ‘1’). Since there are up to three address bits controlled by hardware pins, there may be up to eight MCP4XXX devices on the same I2C bus. Figure 6-9 shows the slave address byte format, which contains the seven address bits. There is also a read/ write bit. Table 6-2 shows the fixed address for each device.

Байт адреса - первый байт посылаемый мастером после старта . Адрес содержит 4 (или больше) фиксированных бита и до 3-х битов, задаваемых пользователем с помощью соответствующих установок входов  A2, A1, A0  в зависимости от типа устройства. Если адресные пины в устройстве отсутствуют, то их значение принимаются равным "1".  Три адресных разряда позволяют увеличить количество учтройств, одновременно подключенных к шине. Рис 6-9 показыват назначение 7 бит адресного байта для вадомого (slave) устройства. После адресных битов идет бит чтения/записи (read/write).  В Табл. 6-2 приведены адреса для каждого типа устройств.
There are up to three hardware pins used to specify the device address. The number of address pins is determined by the part number. Address 0 is multiplexed with the High Voltage Command (HVC) function. So the state of A0 is latched on the MCP4XXX’s POR/BOR event.The HVC pin has an internal resistor connection to the MCP45XX/46XXs internal VDD signal. The state of the A2 and A1 pins should be static, that is they should be tied high or tied low. 

Вывод А0 используется для High-Voltge комманд. Для  MCP45XX/46XXs устройств он подтянут к "1". 
При обращении к ведомому устройству типа  MCP45X1 его адрес 0x2F или 0x2E.









Пример передачи команды от master к slave для MCP4551 form Arduino for I2C Digital Potentiometer

  Wire.beginTransmission(0x2F);  // transmit to device address 0x2F is specified in datasheet
  Wire.write(0x00);                        // sends instruction byte - Write data
  Wire.write(0x55);                        // sends potentiometer value byte
  Wire.endTransmission();             // stop transmitting

Transmitt with Arduino board (byte 0x00, 0x55)



I2C signal from STM32F042 with Saleae Logic (transmitted byte - 0x16, 0x00). Address byte 0x5E.