AVR

Поделись знанием:
Перейти к: навигация, поиск

AVR — семейство восьмибитных микроконтроллеров фирмы Atmel. Год разработки — 1996.





История создания архитектуры AVR

Идея разработки нового RISC-ядра принадлежит двум студентам Norwegian University of Science and Technology (NTNU) из норвежского города Тронхейма — Альфу Богену (Alf-Egil Bogen) и Вегарду Воллену (Vegard Wollen). В 1995 году Боген и Воллен решили предложить американской корпорации Atmel, которая была известна своими чипами с Flash-памятью, выпускать новый 8-битный RISC-микроконтроллер и снабдить его Flash-памятью для программ на одном кристалле с вычислительным ядром.

Идея была одобрена Atmel Corp., и было принято решение незамедлительно инвестировать в данную разработку. В конце 1996 года был выпущен опытный микроконтроллер AT90S1200, а во второй половине 1997 г. корпорация Atmel приступила к серийному производству нового семейства микроконтроллеров, к их рекламной и технической поддержке.

Новое ядро было запатентовано и получило название AVR. Существует несколько трактовок данной аббревиатуры. Кто-то утверждает, что это Advanced Virtual RISC, другие полагают, что не обошлось здесь без Alf Egil Bogen Vegard Wollan RISC.

Описание архитектуры

Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор AVR имеет 32 8-битных регистра общего назначения, объединённых в регистровый файл. В отличие от «идеального» RISC, регистры не абсолютно ортогональны:

  • Некоторые команды работают только с регистрами r16…r31. К ним относятся команды, работающие с непосредственным операндом: ANDI/CBR, ORI/SBR, CPI, LDI, LDS (16-бит), STS (16-бит), SUBI, SBCI, а также SER и MULS;
  • Команды, увеличивающие и уменьшающие 16-битное значение (в тех моделях, где они доступны) с непосредственным операндом (ADIW, SBIW), работают только с одной из пар r25:r24, r27:r26 (X), r29:r28 (Y), или r31:r30 (Z);
  • Команда копирования пары регистров (в тех моделях, где доступна) работает только с соседними регистрами, начинающимися с нечётного (r1:r0, r3:r2, …, r31:r30);
  • Результат умножения (в тех моделях, в которых есть модуль умножения) всегда помещается в r1:r0. Также только эта пара используется в качестве операндов для команды самопрограммирования (где доступна);
  • Некоторые варианты команд умножения принимают в качестве аргументов только регистры из диапазона r16…r23 (FMUL, FMULS, FMULSU, MULSU).

Система команд

Система команд микроконтроллеров AVR весьма развита и насчитывает в различных моделях от 90 до 133 различных инструкций.

Большинство команд занимает только 1 ячейку памяти (16 бит).

Большинство команд выполняется за 1 такт.

Всё множество команд микроконтроллеров AVR можно разбить на несколько групп:

  • команды логических операций;
  • команды арифметических операций и команды сдвига;
  • команды операции с битами;
  • команды пересылки данных;
  • команды передачи управления;
  • команды управления системой.

Управление периферийными устройствами осуществляется через адресное пространство данных. Для удобства существуют «сокращённые команды» IN/OUT.

Семейства микроконтроллеров

Стандартные семейства:

  • tinyAVR (ATtinyxxx):
  • megaAVR (ATmegaxxx):
    • Флеш-память до 256 Кб; SRAM до 16 Кб; EEPROM до 4 Кб;
    • Число линий ввода-вывода 23-86 (общее количество выводов 28-100);
    • Аппаратный умножитель;
    • Расширенная система команд и периферийных устройств.
  • XMEGA AVR (ATxmegaxxx):
    • Флеш-память до 384 Кб; SRAM до 32 Кб; EEPROM до 4 Кб;
    • Четырёхканальный DMA-контроллер;
    • Инновационная система обработки событий.

Как правило, цифры после префикса обозначают объём встроенной flash-памяти (в КБ) и модификацию контроллера. А именно — максимальная степень двойки, следующая за префиксом, обозначает объём памяти, а оставшиеся цифры определяют модификацию (напр., ATmega128 — объём памяти 128 КБ; ATmega168 — объём памяти 16 КБ, модификация 8; ATtiny44 и ATtiny45 — память 4 КБ, модификации 4 и 5 соответственно).К:Википедия:Статьи без источников (тип: не указан)[источник не указан 4261 день]

На основе стандартных семейств выпускаются микроконтроллеры, адаптированные под конкретные задачи:

Кроме указанных выше семейств, ATMEL выпускает 32-разрядные микроконтроллеры семейства AVR32, которое включает в себя подсемейства AT32UC3 (тактовая частота до 66 МГц) и AT32AP7000 (тактовая частота до 150 МГц).

Версии контроллеров

AT (mega/tiny)xxx — базовая версия.
ATxxxL — версии контроллеров, работающих на пониженном (Low) напряжении питания (2,7 В).
ATxxxV — версии контроллеров, работающих на низком напряжении питания (1,8 В).
ATxxxP — малопотребляющие версии (до 100 нА в режиме Power-down), применена технология picoPower (анонсированы в июле 2007), повыводно и функционально совместимы с предыдущими версиями.
ATxxxA — уменьшен ток потребления, перекрывается весь диапазон тактовых частот и напряжений питания двух предыдущих версий (также, в некоторых моделях, добавлены новые возможности и новые регистры, но сохранена полная совместимость с предыдущими версиями). Микроконтроллеры «А» и «не-А» обычно имеют одинаковую сигнатуру, что вызывает некоторые трудности, так как Fuse-bit’ы отличаются.

Номер модели дополняется индексом, указывающим вариант исполнения. Цифры (8,10,16,20) перед индексом означают максимальную частоту, на которой микроконтроллер может стабильно работать при нормальном для него напряжении питания).

Первая буква индекса означает вариант корпуса:

АТxxx-P — корпус DIP
АТxxx-A — корпус TQFP
АТxxx-J — корпус PLCC
АТxxx-M — корпус MLF
АТxxx-MA — корпус UDFN/USON
АТxxx-C — корпус CBGA
АТxxx-CK — корпус LGA
АТxxx-S — корпус EIAJ SOIC
АТxxx-SS — узкий корпус JEDEC SOIC
АТxxx-T — корпус TSOP
АТxxx-TS — корпус SOT-23 (ATtiny4/5/9/10)
АТxxx-X — корпус TSSOP

Следующая буква означает температурный диапазон и особенности изготовления:

АТxxx-xC — коммерческий температурный диапазон (0 °C — 70 °C)
АТxxx-xA — температурный диапазон −20 °C — +85 °C, с использованием бессвинцового припоя
АТxxx-xI — индустриальный температурный диапазон (-40 °C — +85 °C)
АТxxx-xU — индустриальный температурный диапазон (-40 °C — +85 °C), с использованием бессвинцового припоя
АТxxx-xH — индустриальный температурный диапазон (-40 °C — +85 °C), с использованием NiPdAu
АТxxx-xN — расширенный температурный диапазон (-40 °C — +105 °C), с использованием бессвинцового припоя
АТxxx-xF — расширенный температурный диапазон (-40 °C — +125 °C)
АТxxx-xZ — автомобильный температурный диапазон (-40 °C — +125 °C)
АТxxx-xD — расширенный автомобильный температурный диапазон (-40 °C — +150 °C)

последняя буква R означает упаковку в ленты (Tape & Reel) для автоматизированных систем сборки.

Устройства ввода-вывода МК

МК AVR имеют развитую периферию:

  • До 86 многофункциональных, двунаправленных GPIO портов ввода-вывода. В зависимости от программно-задаваемой конфигурации регистров, могут независимо друг от друга работать в режиме «сильного» драйвера, выдающего или принимающего (на «землю») ток до 40 мА, что достаточно для подключения светодиодных индикаторов. Любой из выводов портов может быть сконфигурирован на «ввод» либо в свободном состоянии, либо с использованием встроенного подтягивающего (на плюс) резистора.
  • До 3 внешних источников прерываний (по фронту, срезу, или уровню) и до 32 по изменению уровня на входе.
  • В качестве источника тактовых импульсов может быть выбран:
    • керамический или кварцевый резонатор (не у всех моделей);
    • внешний тактовый сигнал;
    • калиброванный внутренний RC-генератор (частота 1, 2, 4, 8 МГц, а также, для некоторых моделей ATtiny — 4,8, 6.4, 9.6 МГц и 128 кГц).
  • Внутренняя флеш-память команд до 256 KБ (не менее 10 000 циклов перезаписи).
  • Отладка программ осуществляется с помощью интерфейсов JTAG или debugWIRE:
    • сигналы JTAG (TMS, TDI, TDO, и TCK) мультиплексированы на порт ввода-вывода. Режим работы — JTAG или порт — задаётся соответствующим битом в регистре fuses. МК AVR поставляются с включённым интерфейсом JTAG.
  • Внутренняя память данных EEPROM до 4 КБ (ATmega/ATxmega)/512 байт (ATtiny) (до 100 000 циклов перезаписи).
  • Внутренняя память SRAM до 32 KБ (ATxmega)/16 Кб (ATmega)/1 Кб (ATtiny) c временем доступа 2 такта.
  • Внешняя память объёмом до 64 КБ (ATmega8515, ATmega162, ATmega640, ATmega641, ATmega1280, ATmega1281, ATmega2560, ATmega256).
  • Таймеры c разрядностью 8, 16 бит.
  • ШИМ-модулятор (PWM) 8-, 9-, 10-, 16-битный.
  • Аналоговые компараторы.
  • АЦП (ADC) с дифференциальными входами, разрядность 8 (ATtiny)/10 (ATtiny/ATmega)/12 (ATxmega) бит:
    • программируемый коэффициент усиления перед АЦП 1, 10 и 200 (в дифференциальном режиме);
    • в качестве опорного напряжения могут выступать: напряжение питания, внешнее напряжение, или внутреннее опорное напряжение 2,56 В / 1,1 В (в некоторых ATtiny).
  • Различные последовательные интерфейсы, включая:
    • двухпроводной интерфейс TWI, совместимый с I²C;
    • универсальный синхронно/асинхронный приёмопередатчик UART/USART;
    • синхронный последовательный порт Serial Peripheral Interface (SPI).
  • USB серия AT90USBxxxx.
  • CAN серия AT90CANxxx.
  • LCD серии ATmega169 и ATmega329.
  • Датчики температуры ATtiny25, ATtiny45, ATtiny85.
  • Почти все (за исключением некоторых ранних моделей ATtiny, у которых перепрограммирование идёт по особому интерфейсу) поддерживают внутрисхемное программирование (ISP) через последовательный интерфейс SPI. Многие микроконтроллеры поддерживают альтернативное последовательное или параллельное программирование с использованием высокого напряжения, для случаев, если fuse-регистры были настроены так, что обычное программирование стало недоступно.
  • Поддержка самопрограммирования, при котором основная программа может изменить часть своего кода.
  • Поддержка загрузки основной программы с помощью защищённой от перезаписи подпрограммы (bootloader). Код основной программы обычно принимается через один из портов микроконтроллера с использованием одного из стандартных протоколов.
  • Ряд режимов пониженного энергопотребления.

Примечание: не все периферийные устройства могут быть включены программно. Бит в регистре fuses может быть изменён только программатором.

Средства разработки

Аппаратные средства разработки

Официальные средства разработки для AVR от Atmel:

  • STK600 starter kit
  • STK500 starter kit
  • STK200 starter kit
  • AVRISP and AVRISP mkII
  • AVR Dragon
  • JTAGICE mkI
  • JTAGICE mkII
  • JTAGICE3
  • AVR ONE!
  • Butterfly demonstration board
  • AT90USBKey
  • Raven wireless kit

Также существует много сторонних средств, особенно любительских.

Программные средства разработки

Свободные

  • WinAVR — программный пакет под Windows, включающий в себя компилятор, ассемблер, компоновщик и другие инструменты.
  • Algorithm Builder — среда разработки программного обеспечения для микроконтроллеров с архитектурой AVR.
  • Code::Blocks — кроссплатформенная среда разработки.
  • DDD — графический интерфейс к avr-gdb.
  • V-USB — программная реализация протокола USB для микроконтроллеров AVR.
  • Avrdude — средство для прошивки микроконтроллеров.
  • PonyProg — универсальный программатор через LPT-порт, COM-порт (подерживается и USB-эмулятор COM-порта).

Проприетарные

  • AVR Studio — бесплатная IDE от самой Atmel
  • IAR AVR — коммерческая среда разработки для микроконтроллеров AVR
  • Bascom-avr — среда разработки, основанная на Basic-подобном языке программирования.
  • CodeVisionAVR — компилятор C и программатор — CVAVR, генератор начального кода.
  • Proteus — симулятор электрических цепей, компонентов, включая различные МК и другое периферийное оборудование.

Также архитектура AVR позволяет применять операционные системы при разработке приложений, например, FreeRTOS, UOs, ChibiOS/RT, scmRTOS(C++).

См. также

Напишите отзыв о статье "AVR"

Ссылки

  • [www.atmel.com/products/avr/ Atmel AVR 8- and 32-bit Microcontrollers] на сайте компании Atmel
  • AVR в каталоге ссылок Open Directory Project (dmoz).

Примечания

Отрывок, характеризующий AVR

– Третье, – не слушая его, продолжал Пьер, – вы никогда ни слова не должны говорить о том, что было между вами и графиней. Этого, я знаю, я не могу запретить вам, но ежели в вас есть искра совести… – Пьер несколько раз молча прошел по комнате. Анатоль сидел у стола и нахмурившись кусал себе губы.
– Вы не можете не понять наконец, что кроме вашего удовольствия есть счастье, спокойствие других людей, что вы губите целую жизнь из того, что вам хочется веселиться. Забавляйтесь с женщинами подобными моей супруге – с этими вы в своем праве, они знают, чего вы хотите от них. Они вооружены против вас тем же опытом разврата; но обещать девушке жениться на ней… обмануть, украсть… Как вы не понимаете, что это так же подло, как прибить старика или ребенка!…
Пьер замолчал и взглянул на Анатоля уже не гневным, но вопросительным взглядом.
– Этого я не знаю. А? – сказал Анатоль, ободряясь по мере того, как Пьер преодолевал свой гнев. – Этого я не знаю и знать не хочу, – сказал он, не глядя на Пьера и с легким дрожанием нижней челюсти, – но вы сказали мне такие слова: подло и тому подобное, которые я comme un homme d'honneur [как честный человек] никому не позволю.
Пьер с удивлением посмотрел на него, не в силах понять, чего ему было нужно.
– Хотя это и было с глазу на глаз, – продолжал Анатоль, – но я не могу…
– Что ж, вам нужно удовлетворение? – насмешливо сказал Пьер.
– По крайней мере вы можете взять назад свои слова. А? Ежели вы хотите, чтоб я исполнил ваши желанья. А?
– Беру, беру назад, – проговорил Пьер и прошу вас извинить меня. Пьер взглянул невольно на оторванную пуговицу. – И денег, ежели вам нужно на дорогу. – Анатоль улыбнулся.
Это выражение робкой и подлой улыбки, знакомой ему по жене, взорвало Пьера.
– О, подлая, бессердечная порода! – проговорил он и вышел из комнаты.
На другой день Анатоль уехал в Петербург.


Пьер поехал к Марье Дмитриевне, чтобы сообщить об исполнении ее желанья – об изгнании Курагина из Москвы. Весь дом был в страхе и волнении. Наташа была очень больна, и, как Марья Дмитриевна под секретом сказала ему, она в ту же ночь, как ей было объявлено, что Анатоль женат, отравилась мышьяком, который она тихонько достала. Проглотив его немного, она так испугалась, что разбудила Соню и объявила ей то, что она сделала. Во время были приняты нужные меры против яда, и теперь она была вне опасности; но всё таки слаба так, что нельзя было думать везти ее в деревню и послано было за графиней. Пьер видел растерянного графа и заплаканную Соню, но не мог видеть Наташи.
Пьер в этот день обедал в клубе и со всех сторон слышал разговоры о попытке похищения Ростовой и с упорством опровергал эти разговоры, уверяя всех, что больше ничего не было, как только то, что его шурин сделал предложение Ростовой и получил отказ. Пьеру казалось, что на его обязанности лежит скрыть всё дело и восстановить репутацию Ростовой.
Он со страхом ожидал возвращения князя Андрея и каждый день заезжал наведываться о нем к старому князю.
Князь Николай Андреич знал через m lle Bourienne все слухи, ходившие по городу, и прочел ту записку к княжне Марье, в которой Наташа отказывала своему жениху. Он казался веселее обыкновенного и с большим нетерпением ожидал сына.
Чрез несколько дней после отъезда Анатоля, Пьер получил записку от князя Андрея, извещавшего его о своем приезде и просившего Пьера заехать к нему.
Князь Андрей, приехав в Москву, в первую же минуту своего приезда получил от отца записку Наташи к княжне Марье, в которой она отказывала жениху (записку эту похитила у княжны Марьи и передала князю m lle Вourienne) и услышал от отца с прибавлениями рассказы о похищении Наташи.
Князь Андрей приехал вечером накануне. Пьер приехал к нему на другое утро. Пьер ожидал найти князя Андрея почти в том же положении, в котором была и Наташа, и потому он был удивлен, когда, войдя в гостиную, услыхал из кабинета громкий голос князя Андрея, оживленно говорившего что то о какой то петербургской интриге. Старый князь и другой чей то голос изредка перебивали его. Княжна Марья вышла навстречу к Пьеру. Она вздохнула, указывая глазами на дверь, где был князь Андрей, видимо желая выразить свое сочувствие к его горю; но Пьер видел по лицу княжны Марьи, что она была рада и тому, что случилось, и тому, как ее брат принял известие об измене невесты.
– Он сказал, что ожидал этого, – сказала она. – Я знаю, что гордость его не позволит ему выразить своего чувства, но всё таки лучше, гораздо лучше он перенес это, чем я ожидала. Видно, так должно было быть…
– Но неужели совершенно всё кончено? – сказал Пьер.
Княжна Марья с удивлением посмотрела на него. Она не понимала даже, как можно было об этом спрашивать. Пьер вошел в кабинет. Князь Андрей, весьма изменившийся, очевидно поздоровевший, но с новой, поперечной морщиной между бровей, в штатском платье, стоял против отца и князя Мещерского и горячо спорил, делая энергические жесты. Речь шла о Сперанском, известие о внезапной ссылке и мнимой измене которого только что дошло до Москвы.
– Теперь судят и обвиняют его (Сперанского) все те, которые месяц тому назад восхищались им, – говорил князь Андрей, – и те, которые не в состоянии были понимать его целей. Судить человека в немилости очень легко и взваливать на него все ошибки другого; а я скажу, что ежели что нибудь сделано хорошего в нынешнее царствованье, то всё хорошее сделано им – им одним. – Он остановился, увидав Пьера. Лицо его дрогнуло и тотчас же приняло злое выражение. – И потомство отдаст ему справедливость, – договорил он, и тотчас же обратился к Пьеру.
– Ну ты как? Все толстеешь, – говорил он оживленно, но вновь появившаяся морщина еще глубже вырезалась на его лбу. – Да, я здоров, – отвечал он на вопрос Пьера и усмехнулся. Пьеру ясно было, что усмешка его говорила: «здоров, но здоровье мое никому не нужно». Сказав несколько слов с Пьером об ужасной дороге от границ Польши, о том, как он встретил в Швейцарии людей, знавших Пьера, и о господине Десале, которого он воспитателем для сына привез из за границы, князь Андрей опять с горячностью вмешался в разговор о Сперанском, продолжавшийся между двумя стариками.
– Ежели бы была измена и были бы доказательства его тайных сношений с Наполеоном, то их всенародно объявили бы – с горячностью и поспешностью говорил он. – Я лично не люблю и не любил Сперанского, но я люблю справедливость. – Пьер узнавал теперь в своем друге слишком знакомую ему потребность волноваться и спорить о деле для себя чуждом только для того, чтобы заглушить слишком тяжелые задушевные мысли.
Когда князь Мещерский уехал, князь Андрей взял под руку Пьера и пригласил его в комнату, которая была отведена для него. В комнате была разбита кровать, лежали раскрытые чемоданы и сундуки. Князь Андрей подошел к одному из них и достал шкатулку. Из шкатулки он достал связку в бумаге. Он всё делал молча и очень быстро. Он приподнялся, прокашлялся. Лицо его было нахмурено и губы поджаты.
– Прости меня, ежели я тебя утруждаю… – Пьер понял, что князь Андрей хотел говорить о Наташе, и широкое лицо его выразило сожаление и сочувствие. Это выражение лица Пьера рассердило князя Андрея; он решительно, звонко и неприятно продолжал: – Я получил отказ от графини Ростовой, и до меня дошли слухи об искании ее руки твоим шурином, или тому подобное. Правда ли это?
– И правда и не правда, – начал Пьер; но князь Андрей перебил его.
– Вот ее письма и портрет, – сказал он. Он взял связку со стола и передал Пьеру.
– Отдай это графине… ежели ты увидишь ее.
– Она очень больна, – сказал Пьер.
– Так она здесь еще? – сказал князь Андрей. – А князь Курагин? – спросил он быстро.
– Он давно уехал. Она была при смерти…
– Очень сожалею об ее болезни, – сказал князь Андрей. – Он холодно, зло, неприятно, как его отец, усмехнулся.
– Но господин Курагин, стало быть, не удостоил своей руки графиню Ростову? – сказал князь Андрей. Он фыркнул носом несколько раз.
– Он не мог жениться, потому что он был женат, – сказал Пьер.
Князь Андрей неприятно засмеялся, опять напоминая своего отца.
– А где же он теперь находится, ваш шурин, могу ли я узнать? – сказал он.
– Он уехал в Петер…. впрочем я не знаю, – сказал Пьер.
– Ну да это всё равно, – сказал князь Андрей. – Передай графине Ростовой, что она была и есть совершенно свободна, и что я желаю ей всего лучшего.
Пьер взял в руки связку бумаг. Князь Андрей, как будто вспоминая, не нужно ли ему сказать еще что нибудь или ожидая, не скажет ли чего нибудь Пьер, остановившимся взглядом смотрел на него.
– Послушайте, помните вы наш спор в Петербурге, – сказал Пьер, помните о…
– Помню, – поспешно отвечал князь Андрей, – я говорил, что падшую женщину надо простить, но я не говорил, что я могу простить. Я не могу.
– Разве можно это сравнивать?… – сказал Пьер. Князь Андрей перебил его. Он резко закричал:
– Да, опять просить ее руки, быть великодушным, и тому подобное?… Да, это очень благородно, но я не способен итти sur les brisees de monsieur [итти по стопам этого господина]. – Ежели ты хочешь быть моим другом, не говори со мною никогда про эту… про всё это. Ну, прощай. Так ты передашь…
Пьер вышел и пошел к старому князю и княжне Марье.
Старик казался оживленнее обыкновенного. Княжна Марья была такая же, как и всегда, но из за сочувствия к брату, Пьер видел в ней радость к тому, что свадьба ее брата расстроилась. Глядя на них, Пьер понял, какое презрение и злобу они имели все против Ростовых, понял, что нельзя было при них даже и упоминать имя той, которая могла на кого бы то ни было променять князя Андрея.
За обедом речь зашла о войне, приближение которой уже становилось очевидно. Князь Андрей не умолкая говорил и спорил то с отцом, то с Десалем, швейцарцем воспитателем, и казался оживленнее обыкновенного, тем оживлением, которого нравственную причину так хорошо знал Пьер.


В этот же вечер, Пьер поехал к Ростовым, чтобы исполнить свое поручение. Наташа была в постели, граф был в клубе, и Пьер, передав письма Соне, пошел к Марье Дмитриевне, интересовавшейся узнать о том, как князь Андрей принял известие. Через десять минут Соня вошла к Марье Дмитриевне.
– Наташа непременно хочет видеть графа Петра Кирилловича, – сказала она.
– Да как же, к ней что ль его свести? Там у вас не прибрано, – сказала Марья Дмитриевна.
– Нет, она оделась и вышла в гостиную, – сказала Соня.
Марья Дмитриевна только пожала плечами.
– Когда это графиня приедет, измучила меня совсем. Ты смотри ж, не говори ей всего, – обратилась она к Пьеру. – И бранить то ее духу не хватает, так жалка, так жалка!
Наташа, исхудавшая, с бледным и строгим лицом (совсем не пристыженная, какою ее ожидал Пьер) стояла по середине гостиной. Когда Пьер показался в двери, она заторопилась, очевидно в нерешительности, подойти ли к нему или подождать его.
Пьер поспешно подошел к ней. Он думал, что она ему, как всегда, подаст руку; но она, близко подойдя к нему, остановилась, тяжело дыша и безжизненно опустив руки, совершенно в той же позе, в которой она выходила на середину залы, чтоб петь, но совсем с другим выражением.
– Петр Кирилыч, – начала она быстро говорить – князь Болконский был вам друг, он и есть вам друг, – поправилась она (ей казалось, что всё только было, и что теперь всё другое). – Он говорил мне тогда, чтобы обратиться к вам…
Пьер молча сопел носом, глядя на нее. Он до сих пор в душе своей упрекал и старался презирать ее; но теперь ему сделалось так жалко ее, что в душе его не было места упреку.
– Он теперь здесь, скажите ему… чтобы он прост… простил меня. – Она остановилась и еще чаще стала дышать, но не плакала.
– Да… я скажу ему, – говорил Пьер, но… – Он не знал, что сказать.
Наташа видимо испугалась той мысли, которая могла притти Пьеру.