Internally generated USB-accurate clock source.
Ner till 14-pin kapsel.
http://ww1.microchip.com/downloads/en/M ... _Final.pdf
http://www.microchip.com/pagehandler/en ... tfoli.html
Nya PIC's med USB på intern oscillator.
Re: Nya PIC's med USB på intern oscillator.
Ser ju vettigt ut om man vill pilla med USB på en 16F. Man kanske har en stor mängd 16F-kod där man nu behöver USB-funktioner. Då kan det ju vara trevligt!
Re: Nya PIC's med USB på intern oscillator.
Fast dessa 16 har väl den nya kärnan, så det är nog inte så många som redan har stor mängd kod.
Hur är den nya 16-kärnan jämfört med 18-kärnan? har det gjorts någon sådan jämförelse?
0,25% på interna oscillatorn är ju bättre än många resonatorer.
Hur är den nya 16-kärnan jämfört med 18-kärnan? har det gjorts någon sådan jämförelse?
0,25% på interna oscillatorn är ju bättre än många resonatorer.
Re: Nya PIC's med USB på intern oscillator.
Jovisst, fast jag inbillar mig att nya 16F-kärnan ändå är mer kompatibel med gamla 16F-kärnan än vad en 18F-kärna är. Alltså lättare att portera gammal 16F-kod till nya 16F-kärnan än att portera den till 18F.
Re: Nya PIC's med USB på intern oscillator.
> 0,25% på interna oscillatorn är ju bättre än många resonatorer.
Notera att det är efter att man har slagit på låsningen mot USB-signalen.
Processorn låser alltså INTOSC mot USB signalen. Det finns nya statusbitar
som man kan testa för att se om frekvensen är låst eller inte.
> Hur är den nya 16-kärnan jämfört med 18-kärnan? har det gjorts någon sådan jämförelse?
Ja, det skulle man ju kunna göra. För vissa saker är den lika effektiv, speciellt
de ny indexerade adresseringarna med auto dec/inc med linjär adressering
över hela tillgängliga minnet. Den saknar 8x8 mult. Andra mer grundläggande
skillnader gör att 18F fortfarande har högre gräns för max flash och RAM.
> Jovisst, fast jag inbillar mig att nya 16F-kärnan ändå är mer kompatibel med gamla
> 16F-kärnan än vad en 18F-kärna är. Alltså lättare att portera gammal 16F-kod
> till nya 16F-kärnan än att portera den till 18F.
Ja, det skulle jag säga också. Jag har flyttat något HD44780 demo program från
16F886 till 16F1xxx och det var mest läsningen från tabeller som gjordes om med
de nya effektivare metoderna (2 subrutiner med tillsammans 17-18 instruktioner
för att läsa nästa värde från en tabell i flash, ersattes med *1* "MOVIW FSR0++"),
resten var mer eller mindre likadan. Det är mer tillägg än ändringar, kan man säga.
Vissa sakar blir effektivare av sig själva, en BANKSEL genererar alltid *1* MOVLB
instruktion istället för 2 st BCF/BSF på gamla arkitekturen. Alltså en 50% vinst
vid bank-switching utan några kodändringar alls.
Notera också att all (de flesta) instruktioner fungerar indexerat. I mitt program
för 8x64 LED displayen har jag en 128 byte buffert som jag gör BTFSx mot via
indexregistren för att mata ut rätt bitar på data-linjen. Alltså utan att först
"hämta" värdet via en "load" till ett "register" vilket är ett måste på vissa
andra arkitekturer. Allt går att göra mot allt, så att säga.
Notera att det är efter att man har slagit på låsningen mot USB-signalen.
Processorn låser alltså INTOSC mot USB signalen. Det finns nya statusbitar
som man kan testa för att se om frekvensen är låst eller inte.
> Hur är den nya 16-kärnan jämfört med 18-kärnan? har det gjorts någon sådan jämförelse?
Ja, det skulle man ju kunna göra. För vissa saker är den lika effektiv, speciellt
de ny indexerade adresseringarna med auto dec/inc med linjär adressering
över hela tillgängliga minnet. Den saknar 8x8 mult. Andra mer grundläggande
skillnader gör att 18F fortfarande har högre gräns för max flash och RAM.
> Jovisst, fast jag inbillar mig att nya 16F-kärnan ändå är mer kompatibel med gamla
> 16F-kärnan än vad en 18F-kärna är. Alltså lättare att portera gammal 16F-kod
> till nya 16F-kärnan än att portera den till 18F.
Ja, det skulle jag säga också. Jag har flyttat något HD44780 demo program från
16F886 till 16F1xxx och det var mest läsningen från tabeller som gjordes om med
de nya effektivare metoderna (2 subrutiner med tillsammans 17-18 instruktioner
för att läsa nästa värde från en tabell i flash, ersattes med *1* "MOVIW FSR0++"),
resten var mer eller mindre likadan. Det är mer tillägg än ändringar, kan man säga.
Vissa sakar blir effektivare av sig själva, en BANKSEL genererar alltid *1* MOVLB
instruktion istället för 2 st BCF/BSF på gamla arkitekturen. Alltså en 50% vinst
vid bank-switching utan några kodändringar alls.
Notera också att all (de flesta) instruktioner fungerar indexerat. I mitt program
för 8x64 LED displayen har jag en 128 byte buffert som jag gör BTFSx mot via
indexregistren för att mata ut rätt bitar på data-linjen. Alltså utan att först
"hämta" värdet via en "load" till ett "register" vilket är ett måste på vissa
andra arkitekturer. Allt går att göra mot allt, så att säga.

Re: Nya PIC's med USB på intern oscillator.
En annan stor poäng med nya 16F-kärnan är att den är lite lämpligare som target för C-kompilatorer. Det var väl en av drivkrafterna till att den togs fram har jag fått för mig.