- ѵ,רעƵƹʦ
8λԪMCU֮ϵͳ
ֽǶʽMCUӦ빦ܵҪ࣬ˣܺʹҪҲΪߡ8λԪ32λԪԪɱ⣬һﵽ8λԪĸ϶ȡʱܵˮṩԪļѡĽϵͳϽ8λԪܼ32λԪϵͳУԼṩǿĵͳɱߣӿ̡
ֽǶʽMCUӦ빦ܵҪ࣬磬ƱиߵԴЧʣʽӦҲ£ܺʹҪҲΪߡһЩӦöԣķǴ8λԪ16λԪMCU32λԪһȻܵߣҲܵµλɱϵͳԼɱӡĽϵͳϽ8λԪܼ32λԪϵͳУԼṩǿĵͳɱߣӿ̡
켼Խ͵λɱ32λԪMCU߱8λԪ16λԪϵͳͬϵͳ϶ȣЩŵ㶼ΪⲿԪijɱһʹϵͳеĿȡϵͳøӡǶЩ 32 λԪϵͳĵͼʱӦöԣЩDZĹܡȻдֲһijɱʡȥģΪ˼Ĺߵƶ̡
гƣת32λԪMCU
Gartner Dataquest˾ͳƣڹȥʮ䣬32λԪMCUгӪҵ㿪ʼӵ˽25Ŀǰɳʸ8λԪ16λԪϵͳңڶ䱸ضггĹԪӿ֣MCUгֻ 8λԪ16λԪMCU 32λԪܹصǶʽʱӦá
⣬Ŀǰҵ绹һƣARM RISCΪ32λԪMCUIJҵһ統8051ܹ8λԪϵͳıĿǰARM 32λԪǶʽRISC MCUгāʴ 7520051£ARMʹó25ƬARMĵMCU
ɱ϶ȵĿ
0.18mƳ̼һźһ32λԪRISCL豸һСĵƬɱ8λԪӦöԣƾв㹻8λԪӦҪиˮϵͳ϶(ͼһ)ϵͳɱԤ㡣ң϶ȱ32λԪϵͳ8λԪSoCĻܡ
32λԪԪõԴϴI/Oշϵͳͨ硢ͳɱʯӢUϵͳʱ I/OӦпɱ裨pull-up⣬32λԪԪӦȷκλӦõΪԤ⣬Ҫһڵ brown-out detectorһɱ̼ԼһRCUȡͿλԪlock bit
ͼһҪ8λԪӦã32λԪMCU߱϶
8λԪ 32λԪϵͳʱҪ
ǶʽĴȡʱ
8λԪӦһԿΪcontrol-drivenģҪⲿ¼ľԣdeterministicӦͿԤĻӦʱ䡣ȻӿԻǻӷԴý֮ȡٶȵĿȡȴǾԵģ˶ЩʱҪϸӦ˵ܵġʱֲӳɱΨһǼӿǶʽĴȡٶȡ
Ŀǰҵ0.18mƳ̼30MHzARMϽеLڼȡԭʼܿɴ27MIPSԶеһ 8λԪ
жϴ
ʱӦһǒжöжԴ涨ÿһжʱĻӦСARMܹһȱ㣬жϴƺܼªûжӲװáʱҪһװǿж(ͼ)ʾṩһ 8 ȵȼ֮ɶֵʽжԴôSRAMеĻжϴʽжϵ˳ȻִһָжϱţÿһжԴһţΪƫoffsetжϷʽֱװʽProgram CounterּЧĻܹȷĿָLڣѿƴ͵жϷʽС
ͼжϿ
λԪ/
ARMܹһȱDzõARMָеλԪúԼʱӦöԣЩִһ--дread-modify-write֮СڶʹͬһL豸£λԪbit manipulationǶģatomicжϣҪڶ--дڼжϡ
ֽݴvirtual registerһλԪãʹһλԪ裨ʹʧЧָλԪʹ֮ʧЧ(ͼ)ָARMӰǵģʲжϡ
ͼڶλԪݴ
LDMA
L豸ҪaϴʣҪļʱӦһLֱӼȡDMAͿԼͬCPUλԪһϣDMACPU棬ֱӰϰģд䡣ÿģ鴫ʱһжźţҪL豸ѯpolling˫ָƣdual pointer mechanismͿԶģϴ䣬ʱҪϸָá
Դ
ȽCMOSʹеں˵Դѹ͡0.18mƳʱֵ1.8VҪԭ8λԪϵͳԣ32λԪMCUõѹΧ3.0V3.6V֮ĵԴ£һõѹ(ͼ)ں˼SoCϵͳ1.8VѹõѹڲʱУ
ⲿӷʽṩ1.8VѹܸԹԴиõĿơڒSoCѹЧʸĵ͵ⲿѹûӵоԵĿȨ
ʹⲿӷһŵǣʹϵICҲڲ1.8V硣
ͼġѹ
CPUԽϵ͵ٶȣ500Hz1.5MHzʱѹᴦãidleģʽʱѹĹĽ20A£Ϊ1mAάCPUʹL豸Ļֲ32λԪMCUߵȱ㡣
8λԪ32λԪ̵ĸ
Ҫӵͳɱ32λԪARMг̶ܳȣʹӲǶʽӦáרΪCѻԪģͣdevice programming modelṩǿijܣԼʹѽ8λԪ֧Ԯ32λԪȣǼӿûѧϰٶȵĹؼ
һϵʽL豸ȫһµıģͣǼԵĻҪģͣõķһ־ݴṹhomogeneous register structureΪL豸ָϵͳжϽṹλԪַֻһܵLλԪַռLDMAͿԽͶҪ
ΪûṩL豸רʵõԴ룩ɼӿǵѧϰʱ̣쿪ʼܹѸٱ£һԪȫʱSoCŵͱԶARM7ʺڶҵϵͳģЭѵ⣬ARMļӣЧеĿͻֲĸ⡣
̶ԣҪӿֲ̲ʹӲЧ߷dzҪ֧ԮӲжϵ㣨hardware breakpointsϷ棨In-Circuit-Emulation棬ṩԴݴڲռȫȡҲɿ٣software-controlled traceĽ档ĿǰǾԼ۱ȵij(ͼ)ԱʹָģInstruction Set SimulatorӲ֮ǰӲˮ̿ʱ䡣
ͼ塡32λԪMCUĵͳɱ
֮⣬ʹSoCӲon-chip hardwareҲԼӿ쿪ٶȡһԣλԪmis-alignedݴȡѴSoCܹʶ𣬲һ쳣жARMܹĹ֮һڳģʽ±ֹʱпܻᷢoverflow¹ʡڳʱԶѼֹͿԤķ⣬L豸ڳڼЧжЩӦñˡ
Ҫ̲ʱųõķÿʽڿսҲԶģӰLڣԼѡ
ܽ
8λԪ32λԪԪɱ⣬һﵽ8λԪĸ϶ȡʱܵˮṩԪļѡͬĹܼԣֽȽ켼ʹ32λԪﵽ8λԪļλϤĿߺȽijҲʹ32λԪøӼס
8λԪ16λԪ32λԪϵͳ֧֮ͨԮARMΪҵǶʽ32λԪ
ΪAtmel ARMƷг