]>
rtime.felk.cvut.cz Git - fpga/lx-cpu1/lx-rocon.git/log
Pavel Pisa [Fri, 27 Jun 2014 22:32:37 +0000 (00:32 +0200)]
RoCoN: use BlueBot drawing declared axis order after population of another two bridges.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Wed, 18 Jun 2014 21:57:57 +0000 (23:57 +0200)]
RoCoN: change testlxpwrrx stored set of data to include PWM values as well.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Tue, 17 Jun 2014 20:52:03 +0000 (22:52 +0200)]
RoCoN: added support and test command to capture LXPWR ADC stream.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Tue, 17 Jun 2014 20:50:33 +0000 (22:50 +0200)]
RoCoN: correct variable name in pxmc_rocon_receiver_chan2reg.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Tue, 17 Jun 2014 18:03:10 +0000 (20:03 +0200)]
Provide output event indication end of reception from LXPWR.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sun, 15 Jun 2014 22:34:46 +0000 (00:34 +0200)]
RoCoN: implement HAL sensors reading and processing for BLDC/PMSM.
LXPWR receiver configuration is set for single AGL
in chain for now. The chain length should
to be auto-detected.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sun, 15 Jun 2014 21:24:10 +0000 (23:24 +0200)]
Implemented initial version of LXPWR receiver FSM based on transmitter.
The basic implementation does not check CRC for now.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sun, 15 Jun 2014 10:07:24 +0000 (12:07 +0200)]
Provide direct pass-trough drive of i_rd_s from filtered rd_f_s.
This violates standard next_.._s -> register pattern
but only registered signals are used for i_rd_s
generation and shift one cycle forward allows
to use shorter read access cycle.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sun, 15 Jun 2014 09:25:26 +0000 (11:25 +0200)]
Assign next_last_address_s signal value in all cases to prevent generation of latches.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sun, 15 Jun 2014 08:57:37 +0000 (10:57 +0200)]
RoCoN: reset max ISR spent time after its read.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sun, 15 Jun 2014 08:56:35 +0000 (10:56 +0200)]
RoCoN: ensure that all EIM parameters for FPGA are setup.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sun, 15 Jun 2014 08:54:36 +0000 (10:54 +0200)]
Redesign external bus access timing and logic.
There has been fundamental flaws in write cycles activation
and timing which leads to write of unstable data to
unstable address when write has been activated
on partially valid BLS on start of LPC write cycle.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Tue, 10 Jun 2014 09:04:41 +0000 (11:04 +0200)]
RoCoN: Change hard-coded IRC status bit positions to named bit masks.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Mon, 9 Jun 2014 22:04:57 +0000 (00:04 +0200)]
RoCoN: Ensure USB buffers alignment.
It is not required on Cortex-M3/4 but can speedup
operations.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Mon, 9 Jun 2014 21:49:49 +0000 (23:49 +0200)]
RoCoN: Implement USB memory transfers for 32-bit wide memory read/write.
The 32-bit access target is is elected by "-t 4" parameter
of "usb_sendhex".
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Martin Meloun [Mon, 9 Jun 2014 16:59:39 +0000 (18:59 +0200)]
Update PXMC for 8 DC axes
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Mon, 9 Jun 2014 16:58:14 +0000 (18:58 +0200)]
Update FPGA, fix hazard conditions in BRAM
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Pavel Pisa [Sat, 7 Jun 2014 11:46:31 +0000 (13:46 +0200)]
RoCoN: update code to build for simulated mode under Linux.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Tue, 3 Jun 2014 12:19:24 +0000 (14:19 +0200)]
RoCoN: reverse order for PWM channels assignment.
The connectors are soldered on upper side of LX_PWR
board in our actual assembly which leads to reverse
order to our standard used on other boards (i.e. LMC_CB2).
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Tue, 3 Jun 2014 08:42:41 +0000 (10:42 +0200)]
RoCoN: add command to read and reset maximal time spent in PXMC isr.
The time is measured in CPU clocks which are 72 MHz for LX_CPU1.
This provides 72000 ticks per PXMC isr period. Maximum captured
time for single axis was 4153, typical even with coordinated
movement coordination 3300.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Mon, 2 Jun 2014 16:11:11 +0000 (18:11 +0200)]
Merge branch 'master' of rtime.felk.cvut.cz:/fpga/lx-cpu1/lx-rocon
Pavel Pisa [Mon, 2 Jun 2014 16:10:56 +0000 (18:10 +0200)]
RoCoN: add omitted registration of global PURGE command.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Martin Meloun [Mon, 2 Jun 2014 15:03:37 +0000 (17:03 +0200)]
Update pxmc settings
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Mon, 2 Jun 2014 13:05:52 +0000 (15:05 +0200)]
Update dff2, create dff3, fix LX Master for multiple slaves
Pavel Pisa [Sun, 1 Jun 2014 21:10:36 +0000 (23:10 +0200)]
RoCoN: ensure that no old stalled index edge is used after axis mode change.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sun, 1 Jun 2014 20:37:45 +0000 (22:37 +0200)]
RoCoN: include basic support for asynchronous ready notification.
Commands R: and Rm: are compatible with same MARS8 functionality.
Functions has been successfully tested with UART based
communication but actual code for USB channel blocks
on asynchronous IO.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sun, 1 Jun 2014 12:19:41 +0000 (14:19 +0200)]
RoCoN: enhance stepper and BLDC motor support to allow build for calibration.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sun, 1 Jun 2014 10:31:21 +0000 (12:31 +0200)]
RoCoN: Add command to select motor driver type/axis mode at runtime.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sun, 1 Jun 2014 06:40:29 +0000 (08:40 +0200)]
Update pxmc submodule to use LPC17xx optimized square root approximation.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sat, 31 May 2014 22:31:40 +0000 (00:31 +0200)]
Include sqrtll approximation for more than 48 valid bits.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sat, 31 May 2014 15:40:41 +0000 (17:40 +0200)]
RoCoN: include basic set of global PXMC commands.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sat, 31 May 2014 13:44:54 +0000 (15:44 +0200)]
RoCoN: fix mixed use of calibrated and raw IRC for phases commutator.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sat, 31 May 2014 13:05:44 +0000 (15:05 +0200)]
RoCoN: include optional support for BLDC/PMSM modified to run without HAL.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sat, 31 May 2014 12:54:03 +0000 (14:54 +0200)]
RoCoN: keep optional support for older version of LX_MASTER.
This allows to test software against older version
because actual version does not work on my board.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sat, 31 May 2014 09:45:41 +0000 (11:45 +0200)]
RoCoN: include skeleton of stepper motor control based on PiKRON's VLP1 project.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sat, 31 May 2014 09:43:57 +0000 (11:43 +0200)]
RoCoN: include command for phase alignment to index processing.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sat, 31 May 2014 08:37:32 +0000 (10:37 +0200)]
RoCoN: new file for application specific commands and sqrtll tests added.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Fri, 30 May 2014 20:43:07 +0000 (22:43 +0200)]
RoCoN: correct dprint periodic debug status printing.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Martin Meloun [Fri, 30 May 2014 15:50:26 +0000 (17:50 +0200)]
LX Master watchdog implemented
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Fri, 30 May 2014 14:08:39 +0000 (16:08 +0200)]
Fix typo in IRC5 register address base
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Fri, 30 May 2014 14:08:17 +0000 (16:08 +0200)]
Add a bit to IRC register storing current index wire state
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Fri, 30 May 2014 12:39:56 +0000 (14:39 +0200)]
Fix LX Master transmission, update PXMC for new structure
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Fri, 30 May 2014 12:39:28 +0000 (14:39 +0200)]
Remove unintentionally pushed debug messages
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Fri, 30 May 2014 11:42:54 +0000 (13:42 +0200)]
Update LX Master transmitter structure layout
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Thu, 29 May 2014 15:59:25 +0000 (17:59 +0200)]
Update LX PWR communication
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Pavel Pisa [Fri, 30 May 2014 11:23:47 +0000 (13:23 +0200)]
RoCoN: initial version of PMSM phase alignment command.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Fri, 30 May 2014 11:01:25 +0000 (13:01 +0200)]
RoCoN: introduce configurable periodic status print to serial line.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Fri, 30 May 2014 10:12:18 +0000 (12:12 +0200)]
RoCoN: reintroduce back option to send commands over serial line.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Thu, 29 May 2014 22:35:01 +0000 (00:35 +0200)]
RoCoN: PWM output for simple 3 phase BLDC/PMSM motors control.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Thu, 29 May 2014 21:27:38 +0000 (23:27 +0200)]
RoCoN: integrate coordinated movements support and commands.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Thu, 29 May 2014 21:21:57 +0000 (23:21 +0200)]
RoCoN: include square root routine for 64-bit input required for coordinated movements.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Thu, 29 May 2014 10:55:30 +0000 (12:55 +0200)]
RoCoN: complete MARS-8 compatible hard-home support.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Tue, 27 May 2014 18:09:54 +0000 (20:09 +0200)]
RoCoN: correct simple mark based hard home to really work.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Tue, 27 May 2014 17:42:02 +0000 (19:42 +0200)]
RoCoN: extended to actual 8x IRC/axes design and lxpwr master initialization added.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Tue, 27 May 2014 16:54:54 +0000 (18:54 +0200)]
RoCoN: copy of PXMC basic hard-home routine adapted for FPGA based system.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Tue, 27 May 2014 15:09:41 +0000 (17:09 +0200)]
RoCoN: postpone PXMC initialization until FPGA initialization is finished.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Tue, 27 May 2014 14:21:17 +0000 (16:21 +0200)]
Merge 8x IRC support from origin/master branch into bluebot branch.
Conflicts:
sw/app/rocon/appl_main.c
Changes required for sycesfull build in:
sw/app/rocon/appl_pxmc.c
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Martin Meloun [Tue, 27 May 2014 13:23:52 +0000 (15:23 +0200)]
Support 8 IRCs, refactorization (IRC and LXMaster registers and wiring)
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Pavel Pisa [Sat, 24 May 2014 21:39:36 +0000 (23:39 +0200)]
RoCoN: configuration for 4x DC motor.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sat, 24 May 2014 21:28:03 +0000 (23:28 +0200)]
RoCoN: provide PWM output for DC motor configuration.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sat, 24 May 2014 21:23:53 +0000 (23:23 +0200)]
RoCoN: IRC position read.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Pavel Pisa [Sat, 24 May 2014 21:22:24 +0000 (23:22 +0200)]
RoCoN: FPGA access has to be initialized before PXMC initialization.
The actual change is still incorrect, because FPGA
is not programmed before PXMC start. But if LPC external
interface is not setup then whole application blocks.
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
Martin Meloun [Fri, 23 May 2014 17:42:11 +0000 (19:42 +0200)]
Cleanup (whitespace, etc.)
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Fri, 23 May 2014 17:41:09 +0000 (19:41 +0200)]
Tumbl submodule updated
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Fri, 23 May 2014 17:40:18 +0000 (19:40 +0200)]
LX Master MOSI and SYNC hold time after clock increased
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Fri, 23 May 2014 17:38:40 +0000 (19:38 +0200)]
LX Master, usb command support, fixed SYNC and CRC last bit, improved design
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Fri, 23 May 2014 17:36:14 +0000 (19:36 +0200)]
IRC inputs pin changed to PULLUP
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Fri, 23 May 2014 17:35:14 +0000 (19:35 +0200)]
IRC coprocesor, change to generic, index to user, usb commands update
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Sun, 11 May 2014 21:43:17 +0000 (23:43 +0200)]
Multiple patches
1) USB sendhex forked due to changes (patch included)
2) Synthesis profiling for HW
3) Added LX master
4) Calbration -> Measuerement
5) Master CPU bus is 50 MHz and wired to Tumbl external bus,
fixes in wiring
6) Cleanups
7) Other crap I forgot in the meantime :-)
Signed-off-by: Martin Meloun <meloumar@cmp.felk.cvut.cz>
Martin Meloun [Wed, 4 Dec 2013 00:20:13 +0000 (01:20 +0100)]
IRC coprocessor with muxed access between Master CPU and Tumbl
Martin Meloun [Wed, 2 Oct 2013 10:01:09 +0000 (12:01 +0200)]
Major refactorization in hw
Martin Meloun [Mon, 30 Sep 2013 12:27:45 +0000 (14:27 +0200)]
Improve tumbl, tweak xst settings for more optimal synthesis
Martin Meloun [Wed, 25 Sep 2013 13:47:36 +0000 (15:47 +0200)]
Keep up with tumbl update (conditional execution)
Martin Meloun [Tue, 24 Sep 2013 15:31:38 +0000 (17:31 +0200)]
Put up with tumbl changes and custom binutils / gcc / newlib
Martin Meloun [Wed, 18 Sep 2013 14:24:33 +0000 (16:24 +0200)]
Checkout submodules to latest commits
Martin Meloun [Wed, 18 Sep 2013 14:23:10 +0000 (16:23 +0200)]
Update with Tumbl firmware compilation
Martin Meloun [Wed, 18 Sep 2013 14:22:52 +0000 (16:22 +0200)]
Update software for Tumbl interaction and debugging
Martin Meloun [Wed, 18 Sep 2013 14:18:44 +0000 (16:18 +0200)]
Multiple changes in FPGA, include Tumbl coprocessor
- remove deprecated control bram
- remove testing bcd counter
- fix IRC indexing reacting on index level
- update ucf file
- Tumbl: add sumbodule
- Tumbl: add lx-rocon implementation for Spartan6
- Tumbl: add primitive firmware (requires MicroBlaze binutils and gcc to compile)
- do not use coregen, infer the bram or use primitives
- Master CPU bus: now on 100 MHz instead of 72 MHz
- Master CPU bus: rd / bls is async and filtered
Martin Meloun [Fri, 30 Aug 2013 17:06:13 +0000 (19:06 +0200)]
FPGA: IRC - dff sampler shouldn't have reset
Martin Meloun [Fri, 30 Aug 2013 16:35:10 +0000 (18:35 +0200)]
FPGA: Improvements & Fixes
1) Fix hazardous states when issuing reset (and derps too)
2) Implement calibration registers for reading and writing
on the CPU memory bus
3) bus_id register removed, became calibration register
and implemented properly
4) Implement BCD properly
5) Fix IRC modules (correct indexing)
6) Update testbench to simulate more events
In detail
dff: Fix reset
bcd: Improve implementation
calibration: Added registers for read / write with delay secured
to be longer than for normal transactions (held by extra cycle).
These registers are then used for normal operation. Note that the bus
is synchronous to the CPU / EMC!
irc: Fix reset (hold the asynchronous event by one more cycle to prevent
accounting milions of units based on unstability of the output) and
fixed indexing (does not delay by one cycle)
testbenches: Mostly fixed reset polarity, top module has extra transactions
for the simulation
Martin Meloun [Mon, 26 Aug 2013 10:47:36 +0000 (12:47 +0200)]
Remove deprecated config
Martin Meloun [Mon, 26 Aug 2013 10:46:59 +0000 (12:46 +0200)]
Implement reset properly with correct polarity inside the modules
Martin Meloun [Sun, 25 Aug 2013 20:49:55 +0000 (22:49 +0200)]
Update top level Makefile
Separated flashing and running commands. Added commands to configure
FPGA.
Martin Meloun [Sun, 25 Aug 2013 20:48:28 +0000 (22:48 +0200)]
Implement interfaces for FPGA
Implemented USB_VENDOR_CALL, used during configuration of the FPGA device.
Implmented FPGA configuration and EMC initialization. At this moment, EMC uses
the longest delays and is not calibrated for performance.
Martin Meloun [Sun, 25 Aug 2013 20:48:13 +0000 (22:48 +0200)]
Include USB loader headers during build
Martin Meloun [Sun, 25 Aug 2013 20:44:51 +0000 (22:44 +0200)]
FPGA: Bugfixes, custom packaging and added testing modules
1) Bugfixes all over the place from initial testing,
especially on the memory bus
2) Use CLKOUT as clock source by default (72 MHz)
3) Add packaging for SelectMAP configuration interface
4) Add some more testing modules (BCD and other ID register)
Martin Meloun [Thu, 22 Aug 2013 14:48:22 +0000 (16:48 +0200)]
Update top level Makefile, add installation commands
Please not that top level Makefile uses its own commands for installation.
Martin Meloun [Thu, 22 Aug 2013 14:08:50 +0000 (16:08 +0200)]
Add LPC21ISP to host
Martin Meloun [Thu, 22 Aug 2013 09:22:03 +0000 (11:22 +0200)]
Fix derp
Martin Meloun [Thu, 22 Aug 2013 09:18:47 +0000 (11:18 +0200)]
Import ulboot build and dependencies
Martin Meloun [Wed, 21 Aug 2013 18:00:28 +0000 (20:00 +0200)]
Add top level makefile
Martin Meloun [Wed, 21 Aug 2013 15:33:22 +0000 (17:33 +0200)]
Fix host build system
Martin Meloun [Wed, 21 Aug 2013 14:56:35 +0000 (16:56 +0200)]
Fix PXMC symlink
Martin Meloun [Wed, 21 Aug 2013 13:29:55 +0000 (15:29 +0200)]
Integrate host binaries with OCERA framework
Martin Meloun [Wed, 21 Aug 2013 13:25:09 +0000 (15:25 +0200)]
Add ulan-app gitmodule
Martin Meloun [Wed, 21 Aug 2013 12:19:32 +0000 (14:19 +0200)]
Checkout master branch on sysless
Martin Meloun [Wed, 21 Aug 2013 12:12:11 +0000 (14:12 +0200)]
Move submodules to root directory and fix symlinks
Martin Meloun [Sun, 18 Aug 2013 19:05:30 +0000 (21:05 +0200)]
Apply fix for Spartan6 errata (9k block ram initialization)
Martin Meloun [Sun, 18 Aug 2013 17:21:19 +0000 (19:21 +0200)]
Generate bin file for custom configuration
Martin Meloun [Sun, 18 Aug 2013 16:34:42 +0000 (18:34 +0200)]
Add ID register to memory bus
It is used to verify READ from the FPGA memory controlling unit.