FreeCalypso > hg > freecalypso-docs
comparison FC-handset-spec @ 50:da1a2a32c260
FC-handset-spec: USB description started
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 11 Jun 2021 05:52:58 +0000 |
parents | 38bcb9425df0 |
children | 7933c3a1b5e0 |
comparison
equal
deleted
inserted
replaced
49:38bcb9425df0 | 50:da1a2a32c260 |
---|---|
705 determining the state of charge from Vbat for the purpose of the bars icon is | 705 determining the state of charge from Vbat for the purpose of the bars icon is |
706 already somewhat challenging even with Li-ion, given the relatively flat middle | 706 already somewhat challenging even with Li-ion, given the relatively flat middle |
707 part of the discharge curve - and with NiMH we can only expect the problem to be | 707 part of the discharge curve - and with NiMH we can only expect the problem to be |
708 even worse, as their discharge curve is said to be even flatter. For these | 708 even worse, as their discharge curve is said to be even flatter. For these |
709 reasons, we are going to play it safe and stick with Li-ion. | 709 reasons, we are going to play it safe and stick with Li-ion. |
710 | |
711 1.11. Charging circuit | |
712 | |
713 Our FC Libre Dumbphone will feature a USB port (mini-B, device role only, no | |
714 OTG) that combines two logically separate functions: battery charging and | |
715 computer interface. The basic idea of this dual-function USB port comes from | |
716 Pirelli DP-L10, but we are applying significant refinements of our own to this | |
717 general idea, as the following description will make clear. This section | |
718 describes the charging function; the computer interface function is described | |
719 in section 1.12. | |
720 | |
721 One highly non-standard innovation that will appear on our FC handset will be a | |
722 user-visible mechanical slide switch that will turn the charging circuit on or | |
723 off. The purpose of this charging on/off switch is to make it possible to | |
724 connect USB and have the two ttyUSB devices appear (see section 1.12) without | |
725 presenting a 'charger plug' boot condition to the Calypso+Iota core chipset. | |
726 From an end user perspective, if you only use the USB port for charging and | |
727 don't care about the computer interface function, then leave the charging switch | |
728 always on - USB plug/unplug will mean charger plug/unplug like on any | |
729 conventional phone. Similarly, if you do use the computer interface function to | |
730 connect your phone to a host computer in regular operation, with the firmware | |
731 up and running normally, but you don't mind having the phone also charge from | |
732 your computer every time you connect USB, then likewise leave the charging | |
733 switch always on. However, if you are going to reflash phone firmware or do | |
734 other advanced manipulations using the computer interface, then you will need | |
735 to turn the charging switch off. With the switch off, the USB port becomes a | |
736 computer interface only, without charging. | |
737 | |
738 Past the switch, the battery charging circuit using USB +5V as the charging | |
739 power source will be the most classic one depicted in Figure 4-10 in the Iota | |
740 chip datasheet (TWL3025_SWRS021.pdf), same as in Pirelli DP-L10 and Motorola | |
741 C1xx phones. Presentation of USB +5V to Iota VCHG terminal past the charging | |
742 on/off switch is what will cause the chipset to boot in the 'charger plug' mode, | |
743 or to activate charging functions in the firmware if the phone is already on. | |
744 | |
745 1.12. Computer interface | |
746 | |
747 Our Calypso chip has no native USB, instead the host computer interface of all | |
748 Calypso-based systems consists of two UARTs. On our development boards starting | |
749 with FCDEV3B, we got used to interfacing to both of these UARTs by way of | |
750 FT2232x adapters, a USB to serial adapter that goes from one USB device to two | |
751 UARTs, presenting two ttyUSB devices to a Linux host. For low-level operations | |
752 like flash programming, having just one Calypso UART is sufficient (either of | |
753 the two), but once our regular firmware is up and running, then having both | |
754 Calypso UARTs gives maximum user empowerment: Modem UART carries a classic AT | |
755 command interface complete with CSD, GPRS and GSM 07.10 MUX capabilities, while | |
756 the other UART (IrDA) carries TI's RVTMUX debug and development interface. | |
757 | |
758 Before arriving at our current radical approach with the charging on/off switch, | |
759 for many years previously I was considering a more conservative approach. My | |
760 original idea was to bring out the two Calypso UARTs in very different ways: my | |
761 thought was to bring only the Modem UART to the built-in USB port (by way of a | |
762 built-in single-channel USB-serial chip), and have plugged-in USB always present | |
763 VCHG to the chipset, but route the debug UART (the one most useful in low-level | |
764 development and bring-up) to a special FPC connector that would interface to a | |
765 special debug board, just like Openmoko did on their Neo. Serious development | |
766 work would then require having that debug board attached, while more casual | |
767 users would be able to talk AT commands to the phone via the built-in USB port, | |
768 charging the battery at the same time. | |
769 | |
770 What made me change my mind about this design was the realization that I, as the | |
771 most principal user and developer, would end up wanting to have the debug board | |
772 attached all the time, and the need to have it hanging externally, or perhaps | |
773 glued or taped to the back of the phone, would be a huge blemish and | |
774 inconvenience. Back in the days of Openmoko, someone must have had a similar | |
775 experience, as I remember reading about a hack where someone built a debug board | |
776 functional equivalent that fits inside the Neo, in some otherwise unused space. | |
777 | |
778 Hence the new design for our planned FC Libre Dumbphone handset: the USB port | |
779 will have a built-in FT2232D subsystem (USB to two UARTs) connected to it, | |
780 interfacing to both Calypso UARTs, while the charging on/off switch will make it | |
781 possible to use this interface for low-level development and bring-up without | |
782 presenting VCHG to the chipset. In this architecture this FT2232D subsystem | |
783 should be considered the primary "owner" of the handset's USB port, while the | |
784 charging function is secondary and optional, enabled or disabled with a switch. | |
785 To put it another way, if our USB port is connected to a regular USB host (as | |
786 opposed to a Dedicated Charging Port power-only source), that USB host will | |
787 always enumerate the FT2232D and see two ttyUSB devices, whereas charging may | |
788 or may not take place depending on the switch setting. |