After going on break in the end of August, I have picked up work on the Moo 2.0 redesign. I did not post last week so will try to summarize both in this week’s blog.
Before leaving for break, I had begun the Moo 2.0 PCB design process using Altium 10 software (through virtual sites). Leaving the board design in half-finished state, the first few days coming back were a struggle. However, this extra time gave me a chance to reevaluate some of my initial design decisions and learn some new features of the software. All of the CAEN computers have now upgraded their software with the latest PCB design software– Altium 2013.
The following design changes were made to the design in the last two weeks:
- Replaced ADXL330 with ADXL362 Accelerometer: see earlier blog post for benefits
- Replaced Seiko S-1000C20-I4T voltage detector (no longer made) with ON Semiconductor’s NCP300LSN20T1G
- replaced variable capacitor / GKRP30066 (7 to 30pF)
- routed remaining MCU/header connections
- resolved All DRC errors
The new voltage detector has a very similar package and current consumption. It has a 2.0V threshold and has a CMOS output. The most notable change is the package (SOT-23), which has 5-pins instead of 4. Also, it is slightly bigger in size.
The updated Schematic and PCB Image can be found here:
PCB Layout: Moo2.0_PCB_layout_091513
- Finalize the BoM and order new parts (mostly from Digikey)
- Generate gerber files and send to SierraExpress to get a quote (verify minimum annular ring of 3 mils can be manufactured)
- Ask about Assembly process through SierraExpress
The “Moo and Cement Shoes: Future Directions of a Practical Sense-Control-Actuate Application” was accepted to the SEC 2013 TerraSwarm-sponsored workshop at ESWEEK 2013. I will be giving a short 12-minute presentation on the concrete deployment process and benefits of the Moo 2.0. I have begun making the slides for this venue and will hopefully give a practice talk sometime later this week.
Last week, I met with Noah to review some last minute schematic changes that we had discussed before beginning the PCB design process. He suggested that I move towards using the ADXL362 digital accelerometer in place of the analog ADXL330 on the current Moo. While the digital accelerometer may be slightly more complex to set-up in software, I would have to agree with Noah that this move is worth making. Attached are the datasheets for both the ADXL330 and the ADXL362.
Pros of ADXL362:
- nearly 100x reduction in active mode current consumption (~2uA at 2.0 V supply)
- digital SPI interface. Less susceptible to RF noise. Our current Accel data is pretty noisy.
- built-in digital temperature sensor
- smaller package (3mm x 3.25mm x 1.25 mm)
- user selectable measurement ranges (+/- 2g, 4g, 8g)
- will be used on the Wisp 5.0 design.
- avoids issue associated with 1.2V reference voltage for ADC on the MCU
- motion-detection interrupts above a certain threshold
Cons of ADXL362:
- never used before = requires new firmware development
- Digital accelerometers are more complex than analog ones. May be more prone to bugs in software.
- one less serial communication bus available for external SPI peripherals
- changing multiple components (MCU and accelerometer) can potentially increase the chance of error in new design.
Moo 2.0 PCB Design
I have begun laying out the PCB board with the Wolverine chip. I moved some of the existing components on the board (e.g external Flash memory) to make the routing with the new MCU easier to manage. The layout process was slow at first, requiring a good understanding of what had been done already, but has gotten easier as time progressed. I currently have about half the connections set-up with the new MCU and will continue to work on the remaining connections this week. If we do decide to switch to using the new accelerometer then I will need to make a schematic/PCB component and swap out the existing accelerometer. This shouldn’t be too difficult because the new accelerometer uses a pretty straightforward SPI interface along with some separate connections for I/O Power (use GPIO), interrupts (may ignore for now or connect with 0 ohm resistors to MCU), and ground.
Note about the power supply requirement on ADXL362: “The ADXL362 does not require any particular startup transient characteristics, except that it must always be started up from 0V. When the device is in operation, any time power is removed from the ADXL362, or falls below the operating voltage range, the supplies (VS, VDD I/O, and any bypass capacitors) must be discharged completely before power is reapplied. To enable supply discharge, it is recommended to power the device from a microcontroller GPIO, connect a shutdown discharge switch to the supply (Figure 47), or use a voltage regulator with a shutdown discharge feature,such as the ADP160.” – ADXL362 datasheet pp. 37
Last week, I spent most of my time finalizing the Moo 2.0 schematic design. I have finally made all of the corresponding connections with the rest of the circuit and have a design that I believe is ready to be laid out. Attached is a copy of the current schematic design as of this writing.
I set-up a meeting on Friday to review the design with Ben Ransford, Jeremy Gummeson, and Noah Klugman. They mostly agreed with the methodology and placement of the connections other than a few suggestions regarding the net name nomenclature and placement of the header board signals. I plan on making some slight improvements to the design regarding these suggestions and reviewing the schematic with Noah Klugman one last time. I am hoping to start the layout of the PCB board by Tuesday of this week and have most of it finished by the start of next week.
Notes/Suggestions from the Meeting
- Change board dimensions (make shorter) to account for the reduced pin count of the headers and smaller size of the MCU.
- Maybe move transmit_rfid farther away from the Accelerometer inputs to avoid any noise induced from the higher frequency transmit_rfid signal (640 KHz).
- rearrange external header connections so that it is easier to attach daughter boards for additional sensors (e.g. piezo buzzer, solar panel, etc.)
- consider replacing the analog accelerometer sensor with a more efficient digital sensor from Analog Devices (ADXL362). This accelerometer has a built-in temperature sensor, as well, resulting in a more unified design with less components. It is going to be used on the upcoming Wisp 5.0 design. It will add some additional complexity to get it set-up in software but it may be worth looking into. Since it communicates via SPI, I was think of possibly purchasing breakout board (Sparkfun?) that we can connect to the Moo to test its performance before committing to it. I would like to keep the design changes incremental in case anything may go wrong.
- Talk with Jeremy about the Program Header board. It may have a hardware bug regarding the Vdd connection that will need to be addressed.
- remove the NC (“No Connections”) on the ADXL330. Some are inconsistently connected to ground or Vdd. Verified this with the datasheet and Sparkfun’s breakout board.
Last week, I continued working on the new schematic design for Moo 2.0 and Mike and I made a rough outline for the TerraSwarm Abstract submission on August 2nd. I spent the majority of my time reading through the MSP430 Microcontroller Basics book to learn more about how the Timers (Chpt. 8), Interrupts (Chpt. 6), and Communication (Chpt. 10) work on the MSP430 platform. I documented my notes on the MSP430 book here.
After learning the basic functionality behind SPI, I2C, and UART, I routed the external flash (SST25WF040) on the board using the built-in connections for SPI.
Moo 1.1 Schematic Moo 2.0 Schematic
Problem: Each of the Txx.0 (Timer_n Channel 0) pins are shared with at least one of the USCI data pins on the Wolverine chip. Is it crucial to connect the Transmit_RFID signal to Channel 0 or can we get away with connecting it to a different pin?
Possible Sol #1: Connect Transmit_RFID pin to a higher channel # that is not shared with the USCI pins. This may create an issue because Channel 0 has *special* functionality compared to other channels (i.e. higher priority interrupt, TACCR0 is reserved for modulus)
Possible Sol #2: Do not connect Tx_SIMO and RX_SOMI, and/or SDA_B/SCL connections on the MSP430 because they do not appear to have any special purpose on the current design. What kinds of things were the TX_SIMO, RX_SOMI used for in the past? How important is it to keep them wired on the new board?
- TI Contact who can assist with general questions about Wolverine Chip
- remove extra connections and place remaining components
- start routing the PCB board
Mike and I began working on the following google doc in preparation for the TerraSwarm 1-2 Page Abstract CFP deadline on August 2nd.