From 31fc78d0e00f9c82f03c88367a7e23b2df918ca6 Mon Sep 17 00:00:00 2001 From: jaseg Date: Fri, 5 Jan 2018 11:39:20 +0100 Subject: [PATCH] Add some documentation --- fw/README.rst | 20 +++ fw/mac.c | 3 + fw/mac.h | 22 ++++ fw/main.c | 157 ++++++----------------- fw/test.py | 27 ++-- fw/transpose.c | 47 ++++++- fw/transpose.h | 2 + hw/chibi/chibi_2024/bom-chibi.ods | Bin 28559 -> 32334 bytes hw/chibi/chibi_2024/chibi_2024.kicad_pcb | 14 +- hw/chibi/chibi_2024/rotator.py | 22 ++++ 10 files changed, 178 insertions(+), 136 deletions(-) create mode 100644 fw/README.rst create mode 100644 fw/mac.c create mode 100644 fw/mac.h create mode 100755 hw/chibi/chibi_2024/rotator.py diff --git a/fw/README.rst b/fw/README.rst new file mode 100644 index 0000000..1e81c46 --- /dev/null +++ b/fw/README.rst @@ -0,0 +1,20 @@ +Note on the LED modulation +========================== + +To control LED brightness, this project uses a modulation technique known as +"Binary Code Modulation" (BCM) or "Bit Angle Modulation" (BAM). The base idea is +to clock out all outputs in parallel bit-by-bit, then modulate this with a +precisely timed output enable signal. In contrast to PWM this allows almost +arbitrarily high channel counts and configurable modulation resolution at low +CPU overhead and high frame rates. In this project that is needed due to the +large number of channels (32) and the medium oversampling rate (1:8). + +A good article explaining BCM can be found on batsocks.co.uk_ and a nice video +explaining has been published by mikeselectricstuff_. A possible optimization +for even smoother brightness fading (probably mostly in unmultiplexed +applications) has been discussed in the forums at picbasic.co.uk_. + +.. _mikeselectricstuff: https://www.youtube.com/watch?v=Sq8SxVDO5wE +.. _`picbasic.co.uk`: http://www.picbasic.co.uk/forum/showthread.php?t=7393 +.. _batsocks.co.uk: http://www.batsocks.co.uk/readme/art_bcm_1.htm + diff --git a/fw/mac.c b/fw/mac.c new file mode 100644 index 0000000..4d05c9a --- /dev/null +++ b/fw/mac.c @@ -0,0 +1,3 @@ +#include "mac.h" + +uint32_t device_mac = 0xdeadbeef; diff --git a/fw/mac.h b/fw/mac.h new file mode 100644 index 0000000..26aaff6 --- /dev/null +++ b/fw/mac.h @@ -0,0 +1,22 @@ +#ifndef __MAC_H__ +#define __MAC_H__ + +#include + +/* Device MAC address. + * + * 32 bits might seem a little short for a device MAC, but at 20 bus nodes the probablility of a collision is about 1 in + * 10 million. Check for yourself using the python code below. + * + * #!/usr/bin/env python3 + * from operator import mul + * from functools import reduce + * m = 32 + * n = 20 + * print(reduce(mul, [2**m-i for i in range(n)]) / ((2**m)**n)) + * # -> 0.9999999557621786 + */ + +extern uint32_t device_mac; + +#endif /* __MAC_H__ */ diff --git a/fw/main.c b/fw/main.c index 50c9cfa..7740426 100644 --- a/fw/main.c +++ b/fw/main.c @@ -1,5 +1,4 @@ - - +/* Workaround for sub-par ST libraries */ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wstrict-aliasing" #include @@ -17,72 +16,9 @@ #include "transpose.h" #include "mac.h" -/* - * Part number: STM32F030F4C6 - */ - -typedef struct -{ - volatile uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */ - volatile uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */ - volatile uint32_t CPICNT; /*!< Offset: 0x008 (R/W) CPI Count Register */ - volatile uint32_t EXCCNT; /*!< Offset: 0x00C (R/W) Exception Overhead Count Register */ - volatile uint32_t SLEEPCNT; /*!< Offset: 0x010 (R/W) Sleep Count Register */ - volatile uint32_t LSUCNT; /*!< Offset: 0x014 (R/W) LSU Count Register */ - volatile uint32_t FOLDCNT; /*!< Offset: 0x018 (R/W) Folded-instruction Count Register */ - volatile uint32_t PCSR; /*!< Offset: 0x01C (R/ ) Program Counter Sample Register */ - volatile uint32_t COMP0; /*!< Offset: 0x020 (R/W) Comparator Register 0 */ - volatile uint32_t MASK0; /*!< Offset: 0x024 (R/W) Mask Register 0 */ - volatile uint32_t FUNCTION0; /*!< Offset: 0x028 (R/W) Function Register 0 */ - uint32_t RESERVED0[1]; - volatile uint32_t COMP1; /*!< Offset: 0x030 (R/W) Comparator Register 1 */ - volatile uint32_t MASK1; /*!< Offset: 0x034 (R/W) Mask Register 1 */ - volatile uint32_t FUNCTION1; /*!< Offset: 0x038 (R/W) Function Register 1 */ - uint32_t RESERVED1[1]; -} DWT_Type; - -#define DWT ((DWT_Type *)0xE0001000) -DWT_Type *dwt = DWT; - -void dwt0_configure(volatile void *addr) { - dwt->COMP0 = (uint32_t)addr; - dwt->MASK0 = 0; -} - -enum DWT_Function { - DWT_R = 5, - DWT_W = 6, - DWT_RW = 7 -}; - -void dwt0_enable(enum DWT_Function function) { - dwt->FUNCTION0 = function; -} - -/* Wait for about 0.2us */ -static void tick(void) { - /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ - /* 5 */ __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); - /* 10 */ __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); __asm__("nop"); -} - -void spi_send(int data) { - SPI1->DR = data; - while (SPI1->SR & SPI_SR_BSY); -} - -void strobe_aux(void) { - GPIOA->BSRR = GPIO_BSRR_BS_10; - tick(); - GPIOA->BSRR = GPIO_BSRR_BR_10; -} - -void strobe_leds(void) { - GPIOA->BSRR = GPIO_BSRR_BS_9; - tick(); - GPIOA->BSRR = GPIO_BSRR_BR_9; -} +/* Microcontroller part number: STM32F030F4C6 */ +/* Things used for module status reporting. */ #define FIRMWARE_VERSION 2 #define HARDWARE_VERSION 4 @@ -97,6 +33,18 @@ volatile uint16_t adc_buf[2]; volatile unsigned int sys_time = 0; volatile unsigned int sys_time_seconds = 0; +/* Error counters for debugging */ +static unsigned int uart_overruns = 0; +static unsigned int frame_overruns = 0; +static unsigned int invalid_frames = 0; + +/* Status LED control */ +#define LED_STRETCHING_MS 50 +static volatile int error_led_timeout = 0; +static volatile int comm_led_timeout = 0; +static volatile int id_led_timeout = 0; + +/* Modulation data */ volatile struct framebuf fb[2] = {0}; volatile struct framebuf *read_fb=fb+0, *write_fb=fb+1; volatile int led_state = 0; @@ -108,45 +56,13 @@ volatile union { uint32_t mac_data; } rx_buf; +/* Auxiliary shift register values */ #define LED_COMM 0x0001 #define LED_ERROR 0x0002 #define LED_ID 0x0004 #define SR_ILED_HIGH 0x0080 #define SR_ILED_LOW 0x0040 -unsigned int stk_start(void) { - return SysTick->VAL; -} - -unsigned int stk_end(unsigned int start) { - return (start - SysTick->VAL) & 0xffffff; -} - -unsigned int stk_microseconds(void) { - return sys_time*1000 + (1000 - (SysTick->VAL / (SystemCoreClock/1000000))); -} - -void cfg_spi1() { - /* Configure SPI controller */ - SPI1->I2SCFGR = 0; - SPI1->CR2 &= ~SPI_CR2_DS_Msk; - SPI1->CR2 &= ~SPI_CR2_DS_Msk; - SPI1->CR2 |= LL_SPI_DATAWIDTH_16BIT; - - /* Baud rate PCLK/4 -> 12.5MHz */ - SPI1->CR1 = - SPI_CR1_BIDIMODE - | SPI_CR1_BIDIOE - | SPI_CR1_SSM - | SPI_CR1_SSI - | SPI_CR1_SPE - | (1<BSRR = GPIO_BSRR_BS_0; // Debug @@ -299,11 +216,6 @@ void TIM1_CC_IRQHandler() { if (active_segment == NSEGMENTS) { active_segment = 0; - /* FIXME remove this? - int time = stk_microseconds(); - frame_duration_us = time - last_frame_time; - last_frame_time = time; - */ /* Frame buffer swap */ if (fb_op == FB_UPDATE) { volatile struct framebuf *tmp = read_fb; @@ -319,6 +231,8 @@ void TIM1_CC_IRQHandler() { uint32_t aux_reg = (read_fb->brightness ? SR_ILED_HIGH : SR_ILED_LOW) | (led_state<<1); SPI1->DR = aux_reg | segment_map[active_segment]; + /* TODO: Measure frame rate for status report */ + /* Clear interrupt flag */ TIM1->SR &= ~TIM_SR_CC1IF_Msk; @@ -355,6 +269,27 @@ void TIM3_IRQHandler() { GPIOA->BSRR = GPIO_BSRR_BR_0; // Debug } +void cfg_spi1() { + /* Configure SPI controller */ + SPI1->I2SCFGR = 0; + SPI1->CR2 &= ~SPI_CR2_DS_Msk; + SPI1->CR2 &= ~SPI_CR2_DS_Msk; + SPI1->CR2 |= LL_SPI_DATAWIDTH_16BIT; + + /* Baud rate PCLK/4 -> 12.5MHz */ + SPI1->CR1 = + SPI_CR1_BIDIMODE + | SPI_CR1_BIDIOE + | SPI_CR1_SSM + | SPI_CR1_SSI + | SPI_CR1_SPE + | (1<CR1 = /* 8-bit -> M1, M0 clear */ /* RTOIE clear */ @@ -383,11 +318,6 @@ void uart_config(void) { NVIC_SetPriority(USART1_IRQn, 1); } -#define LED_STRETCHING_MS 50 -static volatile int error_led_timeout = 0; -static volatile int comm_led_timeout = 0; -static volatile int id_led_timeout = 0; - void trigger_error_led() { error_led_timeout = LED_STRETCHING_MS; } @@ -400,11 +330,6 @@ void trigger_id_led() { id_led_timeout = LED_STRETCHING_MS; } -/* Error counters for debugging */ -static unsigned int uart_overruns = 0; -static unsigned int frame_overruns = 0; -static unsigned int invalid_frames = 0; - void tx_char(uint8_t c) { while (!(USART1->ISR & USART_ISR_TC)); USART1->TDR = c; @@ -761,7 +686,7 @@ int main(void) { /* Clear frame buffer */ read_fb->brightness = 1; for (int i=0; idata)/sizeof(uint32_t); i++) { - read_fb->data[i] = 0xffffffff; /* FIXME DEBUG 0x00000000; */ + read_fb->data[i] = 0xffffffff; /* FIXME this is a debug value. Should be 0x00000000; */ } cfg_timers_led(); diff --git a/fw/test.py b/fw/test.py index 695d9d5..63cb324 100755 --- a/fw/test.py +++ b/fw/test.py @@ -62,6 +62,7 @@ def send_framebuffer(ser, mac, frame): def discover_macs(ser, count=20): found_macs = [] while True: + ser.flushInput() ser.write(b'\0') frame = receive_frame(ser) if len(frame) == 4: @@ -77,6 +78,8 @@ def discover_macs(ser, count=20): def parse_status_frame(frame): print('frame len:', len(frame)) + if not frame: + return None ( firmware_version, hardware_version, digit_rows, @@ -112,24 +115,26 @@ if __name__ == '__main__': frame_len = 4*8*8 black, red = [0]*frame_len, [255]*frame_len frames = \ - [black]*10 +\ - [red]*10 +\ - [[i]*frame_len for i in range(256)] +\ - [[(i + (d//8)*8) % 256*8 for d in range(frame_len)] for i in range(256)] + [black] + #[[0]*i + [255]*(256-i) for i in range(257)] + #[[(i + d)%256 for d in range(frame_len)] for i in range(256)] + #[black]*10 +\ + #[red]*10 +\ + #[[i]*frame_len for i in range(256)] +\ + #[[(i + (d//8)*8) % 256*8 for d in range(frame_len)] for i in range(256)] #frames = [red, black]*5 #frames = [ x for l in [[([0]*i+[255]+[0]*(7-i))*32]*2 for i in range(8)] for x in l ] - found_macs = discover_macs(ser, 1) + found_macs = [0xdeadbeef] #discover_macs(ser, 1) mac, = found_macs import pprint while True: - pprint.pprint(fetch_status(ser, mac)) - time.sleep(0.02) - - while True: + try: + pprint.pprint(fetch_status(ser, mac)) + except e: + print(e) for i, frame in enumerate(frames): send_framebuffer(ser, mac, frame) - print('sending', i, len(frame)) - time.sleep(0.02) + time.sleep(0.1) # to produce framing errors: ser.write(b'\02a\0') diff --git a/fw/transpose.c b/fw/transpose.c index a6c7e71..7af3e8e 100644 --- a/fw/transpose.c +++ b/fw/transpose.c @@ -4,14 +4,52 @@ #include "transpose.h" +/* This file contains conversion routines that pre-format the brightness data + * received from the UART such that the interrupt service routines only need to + * push it out the SPI without further computation, making these ISRs nice and + * tight. + * + * To understand this code note the multiplexing scheme used on the board. The + * circuit contains two MBI5026 shift-register LED drivers of 16 channels each + * cascaded. Effectively this behaves like a 32-channel LED driver fed data + * serially. Each output is connected to a single digit's COM pin. All digit's + * segment anode pins are connected together in a large bus fed by one of the + * two auxiliary shift registers. + * + * The firmware is selecting each segment in turn with a full BCM cycle for each + * segment before the next one is selected. + */ + +/* This array maps the 32 adressable digits on a board to the 32 bits shifted + * out to the LED drivers. */ uint8_t digit_map[33] = { 0, 1, 2, 3, 28,29,30,31, 4, 5, 6, 7, 24,25,26,27, 8, 9,10,11, 20,21,22,23, 12,13,14,15, 16,17,18,19 }; -void transpose_data(volatile uint8_t *rx_buf, volatile struct framebuf *out_fb) { + +/* This function produces a 10-bit output buffer ready for the modulation ISRs + * from 10-bit input data encoded for the UART. For the precise data format, see + * transpose.h. + * + * On the UART side we have digits in the order defined in digit_map, 10 byte + * per digit. The first 8 bytes are the 8 LSBs of each segments brightness value + * in the order [A, B, C, D, E, F, G, DECIMAL_POINT]. The two MSBs to make each + * value 10-bit are bit-packed into the remaining two bytes in big-endian byte + * order starting from DP. + * + * On the display frame buffer side, data is stored in multiplexing order: + * first digits, then time/bits and finally segments. So for each segment you + * have a large buffer containing all the bit periods and digits, and for each + * bit period you have 32 bits for all 32 digits. + */ +void transpose_data(volatile uint8_t *rx_buf, volatile struct framebuf *out_fb) +{ + /* FIXME this can probably be removed. */ memset((uint8_t *)out_fb, 0, sizeof(*out_fb)); + + /* 8 MSB loop */ struct data_format *rxp = (struct data_format *)rx_buf; for (int bit=0; bit<8; bit++) { /* bits */ uint32_t bit_mask = 1U<frame[bit].data; for (int seg=0; seg<8; seg++) { /* segments */ @@ -40,10 +80,13 @@ void transpose_data(volatile uint8_t *rx_buf, volatile struct framebuf *out_fb) frame_data[seg] = acc; } } + + /* Global analog brightness value */ out_fb->brightness = ((volatile struct framebuf *)rx_buf)->brightness; } - +/* This function was used for testing transpose_data. It does precisely the + * reverse operation. */ void untranspose_data(struct framebuf *fb, uint8_t *txbuf) { memset(txbuf, 0, sizeof(*fb)); diff --git a/fw/transpose.h b/fw/transpose.h index 389071c..467b12d 100644 --- a/fw/transpose.h +++ b/fw/transpose.h @@ -15,6 +15,7 @@ enum { FRAME_SIZE_WORDS = NROWS*NCOLS*NSEGMENTS/32, }; +/* Framebuffer data format pre-formatted for BCM ISRs */ struct framebuf { /* Multiplexing order: first Digits, then Time/bits, last Segments */ union { @@ -28,6 +29,7 @@ struct framebuf { uint8_t brightness; /* 0 or 1; controls global brighntess control */ }; +/* Efficiently-packed UART data format */ struct data_format { union { uint8_t high[8]; diff --git a/hw/chibi/chibi_2024/bom-chibi.ods b/hw/chibi/chibi_2024/bom-chibi.ods index 5b05ffeffa92331c7da829838d566bbb71c0574b..ce6eec853d5262dc60736db23fd0b51869418665 100644 GIT binary patch delta 30299 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 tpa#=Jm&xz*q`lqdW_=LDJ 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 eSWbRXs|*fg