maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Neo900 (https://talk.maemo.org/forumdisplay.php?f=57)
-   -   Announcements related to Neo900 (https://talk.maemo.org/showthread.php?t=93498)

wpwrak 2016-06-22 20:04

Re: Announcements related to Neo900
 
We have a new white paper ! This one discusses IO expanders:

http://neo900.org/stuff/papers/iox.pdf

An IO expander is a chip that connects to the CPU (in our case via I2C) and provides a number of IO ports. Neo900 will need IO expanders because the CPU doesn't have quite enough pins for all the signals. As an added bonus, IO expanders can also lower the number of signals that have to pass between UPPER and LOWER.

This specific version is at
http://neo900.org/stuff/papers/iox-20160622.pdf

The source can be found at
https://neo900.org/git/?p=misc;a=tree;f=iox

- Werner

freemangordon 2016-06-22 21:30

Re: Announcements related to Neo900
 
Quote:

Originally Posted by wpwrak (Post 1508206)
We have a new white paper ! This one discusses IO expanders:

http://neo900.org/stuff/papers/iox.pdf

An IO expander is a chip that connects to the CPU (in our case via I2C) and provides a number of IO ports. Neo900 will need IO expanders because the CPU doesn't have quite enough pins for all the signals. As an added bonus, IO expanders can also lower the number of signals that have to pass between UPPER and LOWER.

This specific version is at
http://neo900.org/stuff/papers/iox-20160622.pdf

The source can be found at
https://neo900.org/git/?p=misc;a=tree;f=iox

- Werner

Please consider evaluating if gpios on the io extender should have wake-up capability, as that will affect power usage etc.

"The two system-wide I2C busses in Neo900 operate at 400 kHz (I2C#2) and 100 kHz (I2C#3)." - I doubt this is correct, i2c1 should operate on 2.2MHz, at it is used to control twl4030 regulators (SmartReflex that is).

Also, IR diode on N900 is not driven by a simple gpio, but through PWM output. If TX diode on Neo900 is going to use the same, then it cannot be attached to iox.

In addition, twl4030 have 18 GPIOs, are all of them used?

wpwrak 2016-06-23 01:36

Re: Announcements related to Neo900
 
Quote:

Originally Posted by freemangordon (Post 1508209)
Please consider evaluating if gpios on the io extender should have wake-up capability,

We did a quick evaluation of interrupts, and is seems that most interrupts could end up in a wakeup role. The IO expanders we're interested in are all interrupt-capable (and can mask interrupts from lines that should not generate interrupts), so the CPU can simply wake-up on the interrupt from the GPIO expander.

Quote:

I doubt this is correct, i2c1 should operate on 2.2MHz, at it is used to control twl4030 regulators (SmartReflex that is).
I2C#1 is not system-wide :-) Only I2C#2 and I2C#3 are. I2C#1 and I2C#4 only connect CPU and the companion chip but don't go to any other components. In any case, most IO expanders don't go above 400 kHz anyway. Only TCA6418 (1 MHz) and MCP23018 (3.4 MHz) are faster, but MCP23018 has only open-drain outputs, which would make it a somewhat inflexible choice. I'm also not sure if it is safe to share the SmartReflex bus with other components.

Quote:

Also, IR diode on N900 is not driven by a simple gpio, but through PWM output. If TX diode on Neo900 is going to use the same, then it cannot be attached to iox.
Yes, CIR is a "fast" data signal, not one of the control signals mentioned in the white paper. In any case, in Neo900 we use the CIR mode of the UART (see IR white paper), which goes to a different pin (uart3_cts_rctx:H18 instead of gpt_9_pwm_evt:Y2; also, Y2 is likely to be occupied by HB USB).

Quote:

In addition, twl4030 have 18 GPIOs, are all of them used?
Ah, good point, thanks ! There are indeed some we don't use (yet).

Thanks a lot for the feedback !

- Werner

wpwrak 2016-07-01 18:46

Re: Announcements related to Neo900
 
We just made another update of the white paper for the infrared subsystem:

http://neo900.org/stuff/papers/ir.pdf

The main changes:

- defined the (pretty tricky) control logic for the IR transmitter,
- simplified the LED driver and at the same time made its design more robust, and
- since the control logic is too complex for an efficient discrete design, we will use a mixed-signal array for it (like for power selection of the SIM switch). This also allows us to remove the two ICs of the receiver circuit, killing two birds with one stone.

With this update, all major aspects of the IR subsystem are now defined, closing one of our oldest "construction sites".

This specific version is at
http://neo900.org/stuff/papers/ir-20160701.pdf

The source can be found at
http://neo900.org/git/?p=misc;a=tree;f=ir

- Werner

wpwrak 2016-11-22 01:25

Re: Announcements
 
We have made another update of the Hackerbus white paper, with the following changes:

- GPIO_d now uses configurable VAUX3 as supply, not a fixed 2.7 V rail

- Documented alternative Hackerbus pin assignment

Link to the latest version of the document:

http://neo900.org/stuff/papers/hb.pdf

This specific version is at
http://neo900.org/stuff/papers/hb-20161121.pdf

The source can be found at
https://neo900.org/git/misc/tree/hb

As always, comments are welcome.

- Werner

wpwrak 2016-12-22 12:43

Re: Announcements related to Neo900
 
We made a small update of the white paper for the infrared subsystem:

http://neo900.org/stuff/papers/ir.pdf

The changes:

- the IR logic is now controlled through an I2C-accessible register in the logic chip (Silego), not through GPIOs
- the receiver is designed to filter at 30 Hz, not 10 Hz
- added slew rate control for the transmit LED
- added an analog switch to completely disable the receiver

These changes have already been incorporated in the schematics.

This specific version is at
https://neo900.org/stuff/papers/ir-20161222.pdf

The source can be found at
https://neo900.org/git/misc/tree/ir

- Werner

wpwrak 2016-12-26 16:00

Re: Announcements related to Neo900
 
We have yet another white paper ! This one is about the v2 prototype:

http://neo900.org/stuff/papers/v2.pdf

This document gives an overview of the v2 prototype, describes how it is composed, and discusses what roles its various parts play. It also explains the differences between v2 and what will be the final Neo900 design.

This specific version is at
http://neo900.org/stuff/papers/v2-20161226.pdf

The source can be found in
https://neo900.org/git/misc/tree/v2

- Werner

wpwrak 2016-12-31 13:04

Re: Announcements related to Neo900
 
We updated the IO expander white paper:

http://neo900.org/stuff/papers/iox.pdf

There were quite a number of changes, as the document's role progressed from specifying design requirements towards describing what we did in the schematics.
  • document current consumption of IO expander chips
  • list signal names of both block diagram and schematics (so far, it was either one or the other)
  • add pull-up resistors to shared sensor interrupt lines
  • change orientation of LOWER-UPPER connectors from parallel to "T"
  • update/correct various signals:
    • add more signals (MIC_nPRESET, SPEAKER_EN, ECI_EN, FM_nRST, MODEM_VMIC_SENSE, CELL_DETECT_IRQ)
    • add section for power configuration/status signals
    • remove IR control signals (we now use I2C for them)
    • update Hackerbus signals
    • add SWD to NFC MCU
    • update/correct reset signals (keyboard, FM, LEDs)
    • better track names in block diagram (BATT_LID, VMIC, the various SIM switch signals)
This specific version is at
http://neo900.org/stuff/papers/iox-20161231.pdf

The source can be found at
https://neo900.org/git/misc/tree/iox

- Werner

pichlo 2017-01-01 10:07

Re: Announcements related to Neo900
 
My heart soars every time I see "Announcements related to Neo900" pop up in Active Topics, only to sink again when I follow the link and read the post. No, it is not an announcement of a working prototype, or at least a finished PCB design. It is just another white paper :(

ibrakalifa 2017-01-01 11:39

Re: Announcements related to Neo900
 
Happy new year neo900, see you 'soon'


All times are GMT. The time now is 08:21.

vBulletin® Version 3.8.8